xref: /titanic_52/usr/src/uts/intel/sys/acpi/acutils.h (revision 385cc6b4ad1792caef3f84eb61eed3f27085801f)
17c478bd9Sstevel@tonic-gate /******************************************************************************
27c478bd9Sstevel@tonic-gate  *
37c478bd9Sstevel@tonic-gate  * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures
47c478bd9Sstevel@tonic-gate  *
57c478bd9Sstevel@tonic-gate  *****************************************************************************/
67c478bd9Sstevel@tonic-gate 
726f3cdf0SGordon Ross /*
8*385cc6b4SJerry Jelinek  * Copyright (C) 2000 - 2016, Intel Corp.
97c478bd9Sstevel@tonic-gate  * All rights reserved.
107c478bd9Sstevel@tonic-gate  *
1126f3cdf0SGordon Ross  * Redistribution and use in source and binary forms, with or without
1226f3cdf0SGordon Ross  * modification, are permitted provided that the following conditions
1326f3cdf0SGordon Ross  * are met:
1426f3cdf0SGordon Ross  * 1. Redistributions of source code must retain the above copyright
1526f3cdf0SGordon Ross  *    notice, this list of conditions, and the following disclaimer,
1626f3cdf0SGordon Ross  *    without modification.
1726f3cdf0SGordon Ross  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
1826f3cdf0SGordon Ross  *    substantially similar to the "NO WARRANTY" disclaimer below
1926f3cdf0SGordon Ross  *    ("Disclaimer") and any redistribution must be conditioned upon
2026f3cdf0SGordon Ross  *    including a substantially similar Disclaimer requirement for further
2126f3cdf0SGordon Ross  *    binary redistribution.
2226f3cdf0SGordon Ross  * 3. Neither the names of the above-listed copyright holders nor the names
2326f3cdf0SGordon Ross  *    of any contributors may be used to endorse or promote products derived
2426f3cdf0SGordon Ross  *    from this software without specific prior written permission.
257c478bd9Sstevel@tonic-gate  *
2626f3cdf0SGordon Ross  * Alternatively, this software may be distributed under the terms of the
2726f3cdf0SGordon Ross  * GNU General Public License ("GPL") version 2 as published by the Free
2826f3cdf0SGordon Ross  * Software Foundation.
297c478bd9Sstevel@tonic-gate  *
3026f3cdf0SGordon Ross  * NO WARRANTY
3126f3cdf0SGordon Ross  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3226f3cdf0SGordon Ross  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3326f3cdf0SGordon Ross  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
3426f3cdf0SGordon Ross  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3526f3cdf0SGordon Ross  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3626f3cdf0SGordon Ross  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3726f3cdf0SGordon Ross  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3826f3cdf0SGordon Ross  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
3926f3cdf0SGordon Ross  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
4026f3cdf0SGordon Ross  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4126f3cdf0SGordon Ross  * POSSIBILITY OF SUCH DAMAGES.
4226f3cdf0SGordon Ross  */
437c478bd9Sstevel@tonic-gate 
447c478bd9Sstevel@tonic-gate #ifndef _ACUTILS_H
457c478bd9Sstevel@tonic-gate #define _ACUTILS_H
467c478bd9Sstevel@tonic-gate 
477c478bd9Sstevel@tonic-gate 
4830082d0cSmyers extern const UINT8                      AcpiGbl_ResourceAmlSizes[];
49*385cc6b4SJerry Jelinek extern const UINT8                      AcpiGbl_ResourceAmlSerialBusSizes[];
5030082d0cSmyers 
5130082d0cSmyers /* Strings used by the disassembler and debugger resource dump routines */
5230082d0cSmyers 
53*385cc6b4SJerry Jelinek #if defined(ACPI_DEBUG_OUTPUT) || defined (ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER)
5430082d0cSmyers 
5527f7c583Smyers extern const char                       *AcpiGbl_BmDecode[];
5627f7c583Smyers extern const char                       *AcpiGbl_ConfigDecode[];
5727f7c583Smyers extern const char                       *AcpiGbl_ConsumeDecode[];
5827f7c583Smyers extern const char                       *AcpiGbl_DecDecode[];
5927f7c583Smyers extern const char                       *AcpiGbl_HeDecode[];
6027f7c583Smyers extern const char                       *AcpiGbl_IoDecode[];
6127f7c583Smyers extern const char                       *AcpiGbl_LlDecode[];
6227f7c583Smyers extern const char                       *AcpiGbl_MaxDecode[];
6327f7c583Smyers extern const char                       *AcpiGbl_MemDecode[];
6427f7c583Smyers extern const char                       *AcpiGbl_MinDecode[];
6527f7c583Smyers extern const char                       *AcpiGbl_MtpDecode[];
6627f7c583Smyers extern const char                       *AcpiGbl_RngDecode[];
6727f7c583Smyers extern const char                       *AcpiGbl_RwDecode[];
6827f7c583Smyers extern const char                       *AcpiGbl_ShrDecode[];
6927f7c583Smyers extern const char                       *AcpiGbl_SizDecode[];
7027f7c583Smyers extern const char                       *AcpiGbl_TrsDecode[];
7127f7c583Smyers extern const char                       *AcpiGbl_TtpDecode[];
7227f7c583Smyers extern const char                       *AcpiGbl_TypDecode[];
73*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_PpcDecode[];
74*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_IorDecode[];
75*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_DtsDecode[];
76*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_CtDecode[];
77*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_SbtDecode[];
78*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_AmDecode[];
79*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_SmDecode[];
80*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_WmDecode[];
81*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_CphDecode[];
82*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_CpoDecode[];
83*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_DpDecode[];
84*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_EdDecode[];
85*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_BpbDecode[];
86*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_SbDecode[];
87*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_FcDecode[];
88*385cc6b4SJerry Jelinek extern const char                       *AcpiGbl_PtDecode[];
8930082d0cSmyers #endif
9030082d0cSmyers 
91*385cc6b4SJerry Jelinek /*
92*385cc6b4SJerry Jelinek  * For the iASL compiler case, the output is redirected to stderr so that
93*385cc6b4SJerry Jelinek  * any of the various ACPI errors and warnings do not appear in the output
94*385cc6b4SJerry Jelinek  * files, for either the compiler or disassembler portions of the tool.
95*385cc6b4SJerry Jelinek  */
96*385cc6b4SJerry Jelinek #ifdef ACPI_ASL_COMPILER
97*385cc6b4SJerry Jelinek 
98*385cc6b4SJerry Jelinek #include <stdio.h>
99*385cc6b4SJerry Jelinek 
100*385cc6b4SJerry Jelinek #define ACPI_MSG_REDIRECT_BEGIN \
101*385cc6b4SJerry Jelinek     FILE                    *OutputFile = AcpiGbl_OutputFile; \
102*385cc6b4SJerry Jelinek     AcpiOsRedirectOutput (stderr);
103*385cc6b4SJerry Jelinek 
104*385cc6b4SJerry Jelinek #define ACPI_MSG_REDIRECT_END \
105*385cc6b4SJerry Jelinek     AcpiOsRedirectOutput (OutputFile);
106*385cc6b4SJerry Jelinek 
107*385cc6b4SJerry Jelinek #else
108*385cc6b4SJerry Jelinek /*
109*385cc6b4SJerry Jelinek  * non-iASL case - no redirection, nothing to do
110*385cc6b4SJerry Jelinek  */
111*385cc6b4SJerry Jelinek #define ACPI_MSG_REDIRECT_BEGIN
112*385cc6b4SJerry Jelinek #define ACPI_MSG_REDIRECT_END
113*385cc6b4SJerry Jelinek #endif
114*385cc6b4SJerry Jelinek 
115*385cc6b4SJerry Jelinek /*
116*385cc6b4SJerry Jelinek  * Common error message prefixes
117*385cc6b4SJerry Jelinek  */
118*385cc6b4SJerry Jelinek #ifndef ACPI_MSG_ERROR
119*385cc6b4SJerry Jelinek #define ACPI_MSG_ERROR          "ACPI Error: "
120*385cc6b4SJerry Jelinek #endif
121*385cc6b4SJerry Jelinek #ifndef ACPI_MSG_EXCEPTION
122*385cc6b4SJerry Jelinek #define ACPI_MSG_EXCEPTION      "ACPI Exception: "
123*385cc6b4SJerry Jelinek #endif
124*385cc6b4SJerry Jelinek #ifndef ACPI_MSG_WARNING
125*385cc6b4SJerry Jelinek #define ACPI_MSG_WARNING        "ACPI Warning: "
126*385cc6b4SJerry Jelinek #endif
127*385cc6b4SJerry Jelinek #ifndef ACPI_MSG_INFO
128*385cc6b4SJerry Jelinek #define ACPI_MSG_INFO           "ACPI: "
129*385cc6b4SJerry Jelinek #endif
130*385cc6b4SJerry Jelinek 
131*385cc6b4SJerry Jelinek #ifndef ACPI_MSG_BIOS_ERROR
132*385cc6b4SJerry Jelinek #define ACPI_MSG_BIOS_ERROR     "ACPI BIOS Error (bug): "
133*385cc6b4SJerry Jelinek #endif
134*385cc6b4SJerry Jelinek #ifndef ACPI_MSG_BIOS_WARNING
135*385cc6b4SJerry Jelinek #define ACPI_MSG_BIOS_WARNING   "ACPI BIOS Warning (bug): "
136*385cc6b4SJerry Jelinek #endif
137*385cc6b4SJerry Jelinek 
138*385cc6b4SJerry Jelinek /*
139*385cc6b4SJerry Jelinek  * Common message suffix
140*385cc6b4SJerry Jelinek  */
141*385cc6b4SJerry Jelinek #define ACPI_MSG_SUFFIX \
142*385cc6b4SJerry Jelinek     AcpiOsPrintf (" (%8.8X/%s-%u)\n", ACPI_CA_VERSION, ModuleName, LineNumber)
143*385cc6b4SJerry Jelinek 
144*385cc6b4SJerry Jelinek 
14530082d0cSmyers /* Types for Resource descriptor entries */
14630082d0cSmyers 
14730082d0cSmyers #define ACPI_INVALID_RESOURCE           0
14830082d0cSmyers #define ACPI_FIXED_LENGTH               1
14930082d0cSmyers #define ACPI_VARIABLE_LENGTH            2
15030082d0cSmyers #define ACPI_SMALL_VARIABLE_LENGTH      3
15130082d0cSmyers 
1527c478bd9Sstevel@tonic-gate typedef
15327f7c583Smyers ACPI_STATUS (*ACPI_WALK_AML_CALLBACK) (
15427f7c583Smyers     UINT8                   *Aml,
15527f7c583Smyers     UINT32                  Length,
15627f7c583Smyers     UINT32                  Offset,
15727f7c583Smyers     UINT8                   ResourceIndex,
158*385cc6b4SJerry Jelinek     void                    **Context);
15927f7c583Smyers 
16027f7c583Smyers typedef
1617c478bd9Sstevel@tonic-gate ACPI_STATUS (*ACPI_PKG_CALLBACK) (
1627c478bd9Sstevel@tonic-gate     UINT8                   ObjectType,
1637c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceObject,
1647c478bd9Sstevel@tonic-gate     ACPI_GENERIC_STATE      *State,
1657c478bd9Sstevel@tonic-gate     void                    *Context);
1667c478bd9Sstevel@tonic-gate 
1677c478bd9Sstevel@tonic-gate typedef struct acpi_pkg_info
1687c478bd9Sstevel@tonic-gate {
1697c478bd9Sstevel@tonic-gate     UINT8                   *FreeSpace;
1707c478bd9Sstevel@tonic-gate     ACPI_SIZE               Length;
1717c478bd9Sstevel@tonic-gate     UINT32                  ObjectSpace;
1727c478bd9Sstevel@tonic-gate     UINT32                  NumPackages;
1737c478bd9Sstevel@tonic-gate 
1747c478bd9Sstevel@tonic-gate } ACPI_PKG_INFO;
1757c478bd9Sstevel@tonic-gate 
176*385cc6b4SJerry Jelinek /* Object reference counts */
177*385cc6b4SJerry Jelinek 
1787c478bd9Sstevel@tonic-gate #define REF_INCREMENT       (UINT16) 0
1797c478bd9Sstevel@tonic-gate #define REF_DECREMENT       (UINT16) 1
1807c478bd9Sstevel@tonic-gate 
1817c478bd9Sstevel@tonic-gate /* AcpiUtDumpBuffer */
1827c478bd9Sstevel@tonic-gate 
1837c478bd9Sstevel@tonic-gate #define DB_BYTE_DISPLAY     1
1847c478bd9Sstevel@tonic-gate #define DB_WORD_DISPLAY     2
1857c478bd9Sstevel@tonic-gate #define DB_DWORD_DISPLAY    4
1867c478bd9Sstevel@tonic-gate #define DB_QWORD_DISPLAY    8
1877c478bd9Sstevel@tonic-gate 
1887c478bd9Sstevel@tonic-gate 
1897c478bd9Sstevel@tonic-gate /*
190*385cc6b4SJerry Jelinek  * utascii - ASCII utilities
191*385cc6b4SJerry Jelinek  */
192*385cc6b4SJerry Jelinek BOOLEAN
193*385cc6b4SJerry Jelinek AcpiUtValidNameseg (
194*385cc6b4SJerry Jelinek     char                    *Signature);
195*385cc6b4SJerry Jelinek 
196*385cc6b4SJerry Jelinek BOOLEAN
197*385cc6b4SJerry Jelinek AcpiUtValidNameChar (
198*385cc6b4SJerry Jelinek     char                    Character,
199*385cc6b4SJerry Jelinek     UINT32                  Position);
200*385cc6b4SJerry Jelinek 
201*385cc6b4SJerry Jelinek void
202*385cc6b4SJerry Jelinek AcpiUtCheckAndRepairAscii (
203*385cc6b4SJerry Jelinek     UINT8                   *Name,
204*385cc6b4SJerry Jelinek     char                    *RepairedName,
205*385cc6b4SJerry Jelinek     UINT32                  Count);
206*385cc6b4SJerry Jelinek 
207*385cc6b4SJerry Jelinek 
208*385cc6b4SJerry Jelinek /*
209*385cc6b4SJerry Jelinek  * utnonansi - Non-ANSI C library functions
210*385cc6b4SJerry Jelinek  */
211*385cc6b4SJerry Jelinek void
212*385cc6b4SJerry Jelinek AcpiUtStrupr (
213*385cc6b4SJerry Jelinek     char                    *SrcString);
214*385cc6b4SJerry Jelinek 
215*385cc6b4SJerry Jelinek void
216*385cc6b4SJerry Jelinek AcpiUtStrlwr (
217*385cc6b4SJerry Jelinek     char                    *SrcString);
218*385cc6b4SJerry Jelinek 
219*385cc6b4SJerry Jelinek int
220*385cc6b4SJerry Jelinek AcpiUtStricmp (
221*385cc6b4SJerry Jelinek     char                    *String1,
222*385cc6b4SJerry Jelinek     char                    *String2);
223*385cc6b4SJerry Jelinek 
224*385cc6b4SJerry Jelinek ACPI_STATUS
225*385cc6b4SJerry Jelinek AcpiUtStrtoul64 (
226*385cc6b4SJerry Jelinek     char                    *String,
227*385cc6b4SJerry Jelinek     UINT32                  Base,
228*385cc6b4SJerry Jelinek     UINT32                  MaxIntegerByteWidth,
229*385cc6b4SJerry Jelinek     UINT64                  *RetInteger);
230*385cc6b4SJerry Jelinek 
231*385cc6b4SJerry Jelinek /* Values for MaxIntegerByteWidth above */
232*385cc6b4SJerry Jelinek 
233*385cc6b4SJerry Jelinek #define ACPI_MAX32_BYTE_WIDTH       4
234*385cc6b4SJerry Jelinek #define ACPI_MAX64_BYTE_WIDTH       8
235*385cc6b4SJerry Jelinek 
236*385cc6b4SJerry Jelinek 
237*385cc6b4SJerry Jelinek /*
2387c478bd9Sstevel@tonic-gate  * utglobal - Global data structures and procedures
2397c478bd9Sstevel@tonic-gate  */
240db2bae30SDana Myers ACPI_STATUS
2417c478bd9Sstevel@tonic-gate AcpiUtInitGlobals (
2427c478bd9Sstevel@tonic-gate     void);
2437c478bd9Sstevel@tonic-gate 
2447c478bd9Sstevel@tonic-gate #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
2457c478bd9Sstevel@tonic-gate 
246*385cc6b4SJerry Jelinek const char *
2477c478bd9Sstevel@tonic-gate AcpiUtGetMutexName (
2487c478bd9Sstevel@tonic-gate     UINT32                  MutexId);
2497c478bd9Sstevel@tonic-gate 
250db2bae30SDana Myers const char *
251db2bae30SDana Myers AcpiUtGetNotifyName (
252*385cc6b4SJerry Jelinek     UINT32                  NotifyValue,
253*385cc6b4SJerry Jelinek     ACPI_OBJECT_TYPE        Type);
2547c478bd9Sstevel@tonic-gate #endif
2557c478bd9Sstevel@tonic-gate 
256*385cc6b4SJerry Jelinek const char *
2577c478bd9Sstevel@tonic-gate AcpiUtGetTypeName (
2587c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type);
2597c478bd9Sstevel@tonic-gate 
260*385cc6b4SJerry Jelinek const char *
2617c478bd9Sstevel@tonic-gate AcpiUtGetNodeName (
2627c478bd9Sstevel@tonic-gate     void                    *Object);
2637c478bd9Sstevel@tonic-gate 
264*385cc6b4SJerry Jelinek const char *
2657c478bd9Sstevel@tonic-gate AcpiUtGetDescriptorName (
2667c478bd9Sstevel@tonic-gate     void                    *Object);
2677c478bd9Sstevel@tonic-gate 
268db2bae30SDana Myers const char *
269db2bae30SDana Myers AcpiUtGetReferenceName (
270db2bae30SDana Myers     ACPI_OPERAND_OBJECT     *Object);
271db2bae30SDana Myers 
272*385cc6b4SJerry Jelinek const char *
2737c478bd9Sstevel@tonic-gate AcpiUtGetObjectTypeName (
2747c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
2757c478bd9Sstevel@tonic-gate 
276*385cc6b4SJerry Jelinek const char *
2777c478bd9Sstevel@tonic-gate AcpiUtGetRegionName (
2787c478bd9Sstevel@tonic-gate     UINT8                   SpaceId);
2797c478bd9Sstevel@tonic-gate 
280*385cc6b4SJerry Jelinek const char *
2817c478bd9Sstevel@tonic-gate AcpiUtGetEventName (
2827c478bd9Sstevel@tonic-gate     UINT32                  EventId);
2837c478bd9Sstevel@tonic-gate 
2847c478bd9Sstevel@tonic-gate char
2857c478bd9Sstevel@tonic-gate AcpiUtHexToAsciiChar (
28626f3cdf0SGordon Ross     UINT64                  Integer,
2877c478bd9Sstevel@tonic-gate     UINT32                  Position);
2887c478bd9Sstevel@tonic-gate 
289*385cc6b4SJerry Jelinek UINT8
290*385cc6b4SJerry Jelinek AcpiUtAsciiCharToHex (
291*385cc6b4SJerry Jelinek     int                     HexChar);
292*385cc6b4SJerry Jelinek 
2937c478bd9Sstevel@tonic-gate BOOLEAN
2947c478bd9Sstevel@tonic-gate AcpiUtValidObjectType (
2957c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type);
2967c478bd9Sstevel@tonic-gate 
2977c478bd9Sstevel@tonic-gate 
2987c478bd9Sstevel@tonic-gate /*
2997c478bd9Sstevel@tonic-gate  * utinit - miscellaneous initialization and shutdown
3007c478bd9Sstevel@tonic-gate  */
3017c478bd9Sstevel@tonic-gate ACPI_STATUS
3027c478bd9Sstevel@tonic-gate AcpiUtHardwareInitialize (
3037c478bd9Sstevel@tonic-gate     void);
3047c478bd9Sstevel@tonic-gate 
3057c478bd9Sstevel@tonic-gate void
3067c478bd9Sstevel@tonic-gate AcpiUtSubsystemShutdown (
3077c478bd9Sstevel@tonic-gate     void);
3087c478bd9Sstevel@tonic-gate 
3097c478bd9Sstevel@tonic-gate 
3107c478bd9Sstevel@tonic-gate /*
3117c478bd9Sstevel@tonic-gate  * utcopy - Object construction and conversion interfaces
3127c478bd9Sstevel@tonic-gate  */
3137c478bd9Sstevel@tonic-gate ACPI_STATUS
3147c478bd9Sstevel@tonic-gate AcpiUtBuildSimpleObject(
3157c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Obj,
3167c478bd9Sstevel@tonic-gate     ACPI_OBJECT             *UserObj,
3177c478bd9Sstevel@tonic-gate     UINT8                   *DataSpace,
3187c478bd9Sstevel@tonic-gate     UINT32                  *BufferSpaceUsed);
3197c478bd9Sstevel@tonic-gate 
3207c478bd9Sstevel@tonic-gate ACPI_STATUS
3217c478bd9Sstevel@tonic-gate AcpiUtBuildPackageObject (
3227c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Obj,
3237c478bd9Sstevel@tonic-gate     UINT8                   *Buffer,
3247c478bd9Sstevel@tonic-gate     UINT32                  *SpaceUsed);
3257c478bd9Sstevel@tonic-gate 
3267c478bd9Sstevel@tonic-gate ACPI_STATUS
3277c478bd9Sstevel@tonic-gate AcpiUtCopyIobjectToEobject (
3287c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Obj,
3297c478bd9Sstevel@tonic-gate     ACPI_BUFFER             *RetBuffer);
3307c478bd9Sstevel@tonic-gate 
3317c478bd9Sstevel@tonic-gate ACPI_STATUS
3327c478bd9Sstevel@tonic-gate AcpiUtCopyEobjectToIobject (
3337c478bd9Sstevel@tonic-gate     ACPI_OBJECT             *Obj,
3347c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **InternalObj);
3357c478bd9Sstevel@tonic-gate 
3367c478bd9Sstevel@tonic-gate ACPI_STATUS
3377c478bd9Sstevel@tonic-gate AcpiUtCopyISimpleToIsimple (
3387c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceObj,
3397c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *DestObj);
3407c478bd9Sstevel@tonic-gate 
3417c478bd9Sstevel@tonic-gate ACPI_STATUS
3427c478bd9Sstevel@tonic-gate AcpiUtCopyIobjectToIobject (
3437c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceDesc,
3447c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **DestDesc,
3457c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3467c478bd9Sstevel@tonic-gate 
3477c478bd9Sstevel@tonic-gate 
3487c478bd9Sstevel@tonic-gate /*
3497c478bd9Sstevel@tonic-gate  * utcreate - Object creation
3507c478bd9Sstevel@tonic-gate  */
3517c478bd9Sstevel@tonic-gate ACPI_STATUS
3527c478bd9Sstevel@tonic-gate AcpiUtUpdateObjectReference (
3537c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object,
3547c478bd9Sstevel@tonic-gate     UINT16                  Action);
3557c478bd9Sstevel@tonic-gate 
3567c478bd9Sstevel@tonic-gate 
3577c478bd9Sstevel@tonic-gate /*
3587c478bd9Sstevel@tonic-gate  * utdebug - Debug interfaces
3597c478bd9Sstevel@tonic-gate  */
3607c478bd9Sstevel@tonic-gate void
3617c478bd9Sstevel@tonic-gate AcpiUtInitStackPtrTrace (
3627c478bd9Sstevel@tonic-gate     void);
3637c478bd9Sstevel@tonic-gate 
3647c478bd9Sstevel@tonic-gate void
3657c478bd9Sstevel@tonic-gate AcpiUtTrackStackPtr (
3667c478bd9Sstevel@tonic-gate     void);
3677c478bd9Sstevel@tonic-gate 
3687c478bd9Sstevel@tonic-gate void
3697c478bd9Sstevel@tonic-gate AcpiUtTrace (
3707c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
371186507a7Smyers     const char              *FunctionName,
372db2bae30SDana Myers     const char              *ModuleName,
373450d6964Smyers     UINT32                  ComponentId);
3747c478bd9Sstevel@tonic-gate 
3757c478bd9Sstevel@tonic-gate void
3767c478bd9Sstevel@tonic-gate AcpiUtTracePtr (
3777c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
378186507a7Smyers     const char              *FunctionName,
379db2bae30SDana Myers     const char              *ModuleName,
380450d6964Smyers     UINT32                  ComponentId,
381*385cc6b4SJerry Jelinek     const void              *Pointer);
3827c478bd9Sstevel@tonic-gate 
3837c478bd9Sstevel@tonic-gate void
3847c478bd9Sstevel@tonic-gate AcpiUtTraceU32 (
3857c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
386186507a7Smyers     const char              *FunctionName,
387db2bae30SDana Myers     const char              *ModuleName,
388450d6964Smyers     UINT32                  ComponentId,
3897c478bd9Sstevel@tonic-gate     UINT32                  Integer);
3907c478bd9Sstevel@tonic-gate 
3917c478bd9Sstevel@tonic-gate void
3927c478bd9Sstevel@tonic-gate AcpiUtTraceStr (
3937c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
394186507a7Smyers     const char              *FunctionName,
395db2bae30SDana Myers     const char              *ModuleName,
396450d6964Smyers     UINT32                  ComponentId,
397*385cc6b4SJerry Jelinek     const char              *String);
3987c478bd9Sstevel@tonic-gate 
3997c478bd9Sstevel@tonic-gate void
4007c478bd9Sstevel@tonic-gate AcpiUtExit (
4017c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
402186507a7Smyers     const char              *FunctionName,
403db2bae30SDana Myers     const char              *ModuleName,
404450d6964Smyers     UINT32                  ComponentId);
4057c478bd9Sstevel@tonic-gate 
4067c478bd9Sstevel@tonic-gate void
4077c478bd9Sstevel@tonic-gate AcpiUtStatusExit (
4087c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
409186507a7Smyers     const char              *FunctionName,
410db2bae30SDana Myers     const char              *ModuleName,
411450d6964Smyers     UINT32                  ComponentId,
4127c478bd9Sstevel@tonic-gate     ACPI_STATUS             Status);
4137c478bd9Sstevel@tonic-gate 
4147c478bd9Sstevel@tonic-gate void
4157c478bd9Sstevel@tonic-gate AcpiUtValueExit (
4167c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
417186507a7Smyers     const char              *FunctionName,
418db2bae30SDana Myers     const char              *ModuleName,
419450d6964Smyers     UINT32                  ComponentId,
42026f3cdf0SGordon Ross     UINT64                  Value);
4217c478bd9Sstevel@tonic-gate 
4227c478bd9Sstevel@tonic-gate void
4237c478bd9Sstevel@tonic-gate AcpiUtPtrExit (
4247c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
425186507a7Smyers     const char              *FunctionName,
426db2bae30SDana Myers     const char              *ModuleName,
427450d6964Smyers     UINT32                  ComponentId,
4287c478bd9Sstevel@tonic-gate     UINT8                   *Ptr);
4297c478bd9Sstevel@tonic-gate 
4307c478bd9Sstevel@tonic-gate void
431*385cc6b4SJerry Jelinek AcpiUtStrExit (
432*385cc6b4SJerry Jelinek     UINT32                  LineNumber,
433*385cc6b4SJerry Jelinek     const char              *FunctionName,
434*385cc6b4SJerry Jelinek     const char              *ModuleName,
435*385cc6b4SJerry Jelinek     UINT32                  ComponentId,
436*385cc6b4SJerry Jelinek     const char              *String);
437*385cc6b4SJerry Jelinek 
438*385cc6b4SJerry Jelinek void
439*385cc6b4SJerry Jelinek AcpiUtDebugDumpBuffer (
440*385cc6b4SJerry Jelinek     UINT8                   *Buffer,
441*385cc6b4SJerry Jelinek     UINT32                  Count,
442*385cc6b4SJerry Jelinek     UINT32                  Display,
443*385cc6b4SJerry Jelinek     UINT32                  ComponentId);
444*385cc6b4SJerry Jelinek 
445*385cc6b4SJerry Jelinek void
4467c478bd9Sstevel@tonic-gate AcpiUtDumpBuffer (
4477c478bd9Sstevel@tonic-gate     UINT8                   *Buffer,
4487c478bd9Sstevel@tonic-gate     UINT32                  Count,
4497c478bd9Sstevel@tonic-gate     UINT32                  Display,
450*385cc6b4SJerry Jelinek     UINT32                  Offset);
4517c478bd9Sstevel@tonic-gate 
452*385cc6b4SJerry Jelinek #ifdef ACPI_APPLICATION
45330082d0cSmyers void
454*385cc6b4SJerry Jelinek AcpiUtDumpBufferToFile (
455*385cc6b4SJerry Jelinek     ACPI_FILE               File,
45627f7c583Smyers     UINT8                   *Buffer,
45727f7c583Smyers     UINT32                  Count,
458*385cc6b4SJerry Jelinek     UINT32                  Display,
459*385cc6b4SJerry Jelinek     UINT32                  BaseOffset);
460*385cc6b4SJerry Jelinek #endif
46127f7c583Smyers 
46227f7c583Smyers void
46330082d0cSmyers AcpiUtReportError (
46430082d0cSmyers     char                    *ModuleName,
46530082d0cSmyers     UINT32                  LineNumber);
46630082d0cSmyers 
46730082d0cSmyers void
46830082d0cSmyers AcpiUtReportInfo (
46930082d0cSmyers     char                    *ModuleName,
47030082d0cSmyers     UINT32                  LineNumber);
47130082d0cSmyers 
47230082d0cSmyers void
47330082d0cSmyers AcpiUtReportWarning (
47430082d0cSmyers     char                    *ModuleName,
47530082d0cSmyers     UINT32                  LineNumber);
47630082d0cSmyers 
477*385cc6b4SJerry Jelinek 
4787c478bd9Sstevel@tonic-gate /*
4797c478bd9Sstevel@tonic-gate  * utdelete - Object deletion and reference counts
4807c478bd9Sstevel@tonic-gate  */
4817c478bd9Sstevel@tonic-gate void
4827c478bd9Sstevel@tonic-gate AcpiUtAddReference (
4837c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object);
4847c478bd9Sstevel@tonic-gate 
4857c478bd9Sstevel@tonic-gate void
4867c478bd9Sstevel@tonic-gate AcpiUtRemoveReference (
4877c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object);
4887c478bd9Sstevel@tonic-gate 
4897c478bd9Sstevel@tonic-gate void
4907c478bd9Sstevel@tonic-gate AcpiUtDeleteInternalPackageObject (
4917c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object);
4927c478bd9Sstevel@tonic-gate 
4937c478bd9Sstevel@tonic-gate void
4947c478bd9Sstevel@tonic-gate AcpiUtDeleteInternalSimpleObject (
4957c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object);
4967c478bd9Sstevel@tonic-gate 
4977c478bd9Sstevel@tonic-gate void
4987c478bd9Sstevel@tonic-gate AcpiUtDeleteInternalObjectList (
4997c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ObjList);
5007c478bd9Sstevel@tonic-gate 
5017c478bd9Sstevel@tonic-gate 
5027c478bd9Sstevel@tonic-gate /*
5037c478bd9Sstevel@tonic-gate  * uteval - object evaluation
5047c478bd9Sstevel@tonic-gate  */
5057c478bd9Sstevel@tonic-gate ACPI_STATUS
5067c478bd9Sstevel@tonic-gate AcpiUtEvaluateObject (
5077c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *PrefixNode,
508*385cc6b4SJerry Jelinek     const char              *Path,
5097c478bd9Sstevel@tonic-gate     UINT32                  ExpectedReturnBtypes,
5107c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     **ReturnDesc);
5117c478bd9Sstevel@tonic-gate 
5127c478bd9Sstevel@tonic-gate ACPI_STATUS
5137c478bd9Sstevel@tonic-gate AcpiUtEvaluateNumericObject (
514*385cc6b4SJerry Jelinek     const char              *ObjectName,
5157c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *DeviceNode,
51626f3cdf0SGordon Ross     UINT64                  *Value);
5177c478bd9Sstevel@tonic-gate 
5187c478bd9Sstevel@tonic-gate ACPI_STATUS
5197c478bd9Sstevel@tonic-gate AcpiUtExecute_STA (
5207c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *DeviceNode,
5217c478bd9Sstevel@tonic-gate     UINT32                  *StatusFlags);
5227c478bd9Sstevel@tonic-gate 
5237c478bd9Sstevel@tonic-gate ACPI_STATUS
52457190917SDana Myers AcpiUtExecutePowerMethods (
5257c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *DeviceNode,
52657190917SDana Myers     const char              **MethodNames,
52757190917SDana Myers     UINT8                   MethodCount,
52857190917SDana Myers     UINT8                   *OutValues);
52957190917SDana Myers 
53057190917SDana Myers 
53157190917SDana Myers /*
53257190917SDana Myers  * utids - device ID support
53357190917SDana Myers  */
53457190917SDana Myers ACPI_STATUS
53557190917SDana Myers AcpiUtExecute_HID (
53657190917SDana Myers     ACPI_NAMESPACE_NODE     *DeviceNode,
537*385cc6b4SJerry Jelinek     ACPI_PNP_DEVICE_ID      **ReturnId);
5387c478bd9Sstevel@tonic-gate 
5397c478bd9Sstevel@tonic-gate ACPI_STATUS
54057190917SDana Myers AcpiUtExecute_UID (
5417c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *DeviceNode,
542*385cc6b4SJerry Jelinek     ACPI_PNP_DEVICE_ID      **ReturnId);
54357190917SDana Myers 
54457190917SDana Myers ACPI_STATUS
54557190917SDana Myers AcpiUtExecute_CID (
54657190917SDana Myers     ACPI_NAMESPACE_NODE     *DeviceNode,
547*385cc6b4SJerry Jelinek     ACPI_PNP_DEVICE_ID_LIST **ReturnCidList);
548*385cc6b4SJerry Jelinek 
549*385cc6b4SJerry Jelinek ACPI_STATUS
550*385cc6b4SJerry Jelinek AcpiUtExecute_CLS (
551*385cc6b4SJerry Jelinek     ACPI_NAMESPACE_NODE     *DeviceNode,
552*385cc6b4SJerry Jelinek     ACPI_PNP_DEVICE_ID      **ReturnId);
55357190917SDana Myers 
5547c478bd9Sstevel@tonic-gate 
555aa2aa9a6SDana Myers /*
556aa2aa9a6SDana Myers  * utlock - reader/writer locks
557aa2aa9a6SDana Myers  */
558aa2aa9a6SDana Myers ACPI_STATUS
559aa2aa9a6SDana Myers AcpiUtCreateRwLock (
560aa2aa9a6SDana Myers     ACPI_RW_LOCK            *Lock);
561aa2aa9a6SDana Myers 
562aa2aa9a6SDana Myers void
563aa2aa9a6SDana Myers AcpiUtDeleteRwLock (
564aa2aa9a6SDana Myers     ACPI_RW_LOCK            *Lock);
565aa2aa9a6SDana Myers 
566aa2aa9a6SDana Myers ACPI_STATUS
567aa2aa9a6SDana Myers AcpiUtAcquireReadLock (
568aa2aa9a6SDana Myers     ACPI_RW_LOCK            *Lock);
569aa2aa9a6SDana Myers 
570aa2aa9a6SDana Myers ACPI_STATUS
571aa2aa9a6SDana Myers AcpiUtReleaseReadLock (
572aa2aa9a6SDana Myers     ACPI_RW_LOCK            *Lock);
573aa2aa9a6SDana Myers 
574aa2aa9a6SDana Myers ACPI_STATUS
575aa2aa9a6SDana Myers AcpiUtAcquireWriteLock (
576aa2aa9a6SDana Myers     ACPI_RW_LOCK            *Lock);
577aa2aa9a6SDana Myers 
578aa2aa9a6SDana Myers void
579aa2aa9a6SDana Myers AcpiUtReleaseWriteLock (
580aa2aa9a6SDana Myers     ACPI_RW_LOCK            *Lock);
581aa2aa9a6SDana Myers 
5827c478bd9Sstevel@tonic-gate 
5837c478bd9Sstevel@tonic-gate /*
5847c478bd9Sstevel@tonic-gate  * utobject - internal object create/delete/cache routines
5857c478bd9Sstevel@tonic-gate  */
5867c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT  *
5877c478bd9Sstevel@tonic-gate AcpiUtCreateInternalObjectDbg (
588db2bae30SDana Myers     const char              *ModuleName,
5897c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
5907c478bd9Sstevel@tonic-gate     UINT32                  ComponentId,
5917c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type);
5927c478bd9Sstevel@tonic-gate 
5937c478bd9Sstevel@tonic-gate void *
5947c478bd9Sstevel@tonic-gate AcpiUtAllocateObjectDescDbg (
595db2bae30SDana Myers     const char              *ModuleName,
5967c478bd9Sstevel@tonic-gate     UINT32                  LineNumber,
5977c478bd9Sstevel@tonic-gate     UINT32                  ComponentId);
5987c478bd9Sstevel@tonic-gate 
599450d6964Smyers #define AcpiUtCreateInternalObject(t)   AcpiUtCreateInternalObjectDbg (_AcpiModuleName,__LINE__,_COMPONENT,t)
600450d6964Smyers #define AcpiUtAllocateObjectDesc()      AcpiUtAllocateObjectDescDbg (_AcpiModuleName,__LINE__,_COMPONENT)
6017c478bd9Sstevel@tonic-gate 
6027c478bd9Sstevel@tonic-gate void
6037c478bd9Sstevel@tonic-gate AcpiUtDeleteObjectDesc (
6047c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object);
6057c478bd9Sstevel@tonic-gate 
6067c478bd9Sstevel@tonic-gate BOOLEAN
6077c478bd9Sstevel@tonic-gate AcpiUtValidInternalObject (
6087c478bd9Sstevel@tonic-gate     void                    *Object);
6097c478bd9Sstevel@tonic-gate 
6107c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *
611db2bae30SDana Myers AcpiUtCreatePackageObject (
612db2bae30SDana Myers     UINT32                  Count);
613db2bae30SDana Myers 
614db2bae30SDana Myers ACPI_OPERAND_OBJECT *
61557190917SDana Myers AcpiUtCreateIntegerObject (
61657190917SDana Myers     UINT64                  Value);
61757190917SDana Myers 
61857190917SDana Myers ACPI_OPERAND_OBJECT *
6197c478bd9Sstevel@tonic-gate AcpiUtCreateBufferObject (
6207c478bd9Sstevel@tonic-gate     ACPI_SIZE               BufferSize);
6217c478bd9Sstevel@tonic-gate 
6227c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *
6237c478bd9Sstevel@tonic-gate AcpiUtCreateStringObject (
6247c478bd9Sstevel@tonic-gate     ACPI_SIZE               StringSize);
6257c478bd9Sstevel@tonic-gate 
6267c478bd9Sstevel@tonic-gate ACPI_STATUS
6277c478bd9Sstevel@tonic-gate AcpiUtGetObjectSize(
6287c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Obj,
6297c478bd9Sstevel@tonic-gate     ACPI_SIZE               *ObjLength);
6307c478bd9Sstevel@tonic-gate 
6317c478bd9Sstevel@tonic-gate 
6327c478bd9Sstevel@tonic-gate /*
63326f3cdf0SGordon Ross  * utosi - Support for the _OSI predefined control method
63426f3cdf0SGordon Ross  */
63526f3cdf0SGordon Ross ACPI_STATUS
63626f3cdf0SGordon Ross AcpiUtInitializeInterfaces (
63726f3cdf0SGordon Ross     void);
63826f3cdf0SGordon Ross 
639*385cc6b4SJerry Jelinek ACPI_STATUS
64026f3cdf0SGordon Ross AcpiUtInterfaceTerminate (
64126f3cdf0SGordon Ross     void);
64226f3cdf0SGordon Ross 
64326f3cdf0SGordon Ross ACPI_STATUS
64426f3cdf0SGordon Ross AcpiUtInstallInterface (
64526f3cdf0SGordon Ross     ACPI_STRING             InterfaceName);
64626f3cdf0SGordon Ross 
64726f3cdf0SGordon Ross ACPI_STATUS
64826f3cdf0SGordon Ross AcpiUtRemoveInterface (
64926f3cdf0SGordon Ross     ACPI_STRING             InterfaceName);
65026f3cdf0SGordon Ross 
651*385cc6b4SJerry Jelinek ACPI_STATUS
652*385cc6b4SJerry Jelinek AcpiUtUpdateInterfaces (
653*385cc6b4SJerry Jelinek     UINT8                   Action);
654*385cc6b4SJerry Jelinek 
65526f3cdf0SGordon Ross ACPI_INTERFACE_INFO *
65626f3cdf0SGordon Ross AcpiUtGetInterface (
65726f3cdf0SGordon Ross     ACPI_STRING             InterfaceName);
65826f3cdf0SGordon Ross 
65926f3cdf0SGordon Ross ACPI_STATUS
66026f3cdf0SGordon Ross AcpiUtOsiImplementation (
66126f3cdf0SGordon Ross     ACPI_WALK_STATE         *WalkState);
66226f3cdf0SGordon Ross 
66326f3cdf0SGordon Ross 
66426f3cdf0SGordon Ross /*
665*385cc6b4SJerry Jelinek  * utpredef - support for predefined names
666*385cc6b4SJerry Jelinek  */
667*385cc6b4SJerry Jelinek const ACPI_PREDEFINED_INFO *
668*385cc6b4SJerry Jelinek AcpiUtGetNextPredefinedMethod (
669*385cc6b4SJerry Jelinek     const ACPI_PREDEFINED_INFO  *ThisName);
670*385cc6b4SJerry Jelinek 
671*385cc6b4SJerry Jelinek const ACPI_PREDEFINED_INFO *
672*385cc6b4SJerry Jelinek AcpiUtMatchPredefinedMethod (
673*385cc6b4SJerry Jelinek     char                        *Name);
674*385cc6b4SJerry Jelinek 
675*385cc6b4SJerry Jelinek void
676*385cc6b4SJerry Jelinek AcpiUtGetExpectedReturnTypes (
677*385cc6b4SJerry Jelinek     char                    *Buffer,
678*385cc6b4SJerry Jelinek     UINT32                  ExpectedBtypes);
679*385cc6b4SJerry Jelinek 
680*385cc6b4SJerry Jelinek #if (defined ACPI_ASL_COMPILER || defined ACPI_HELP_APP)
681*385cc6b4SJerry Jelinek const ACPI_PREDEFINED_INFO *
682*385cc6b4SJerry Jelinek AcpiUtMatchResourceName (
683*385cc6b4SJerry Jelinek     char                        *Name);
684*385cc6b4SJerry Jelinek 
685*385cc6b4SJerry Jelinek void
686*385cc6b4SJerry Jelinek AcpiUtDisplayPredefinedMethod (
687*385cc6b4SJerry Jelinek     char                        *Buffer,
688*385cc6b4SJerry Jelinek     const ACPI_PREDEFINED_INFO  *ThisName,
689*385cc6b4SJerry Jelinek     BOOLEAN                     MultiLine);
690*385cc6b4SJerry Jelinek 
691*385cc6b4SJerry Jelinek UINT32
692*385cc6b4SJerry Jelinek AcpiUtGetResourceBitWidth (
693*385cc6b4SJerry Jelinek     char                    *Buffer,
694*385cc6b4SJerry Jelinek     UINT16                  Types);
695*385cc6b4SJerry Jelinek #endif
696*385cc6b4SJerry Jelinek 
697*385cc6b4SJerry Jelinek 
698*385cc6b4SJerry Jelinek /*
6997c478bd9Sstevel@tonic-gate  * utstate - Generic state creation/cache routines
7007c478bd9Sstevel@tonic-gate  */
7017c478bd9Sstevel@tonic-gate void
7027c478bd9Sstevel@tonic-gate AcpiUtPushGenericState (
7037c478bd9Sstevel@tonic-gate     ACPI_GENERIC_STATE      **ListHead,
7047c478bd9Sstevel@tonic-gate     ACPI_GENERIC_STATE      *State);
7057c478bd9Sstevel@tonic-gate 
7067c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE *
7077c478bd9Sstevel@tonic-gate AcpiUtPopGenericState (
7087c478bd9Sstevel@tonic-gate     ACPI_GENERIC_STATE      **ListHead);
7097c478bd9Sstevel@tonic-gate 
7107c478bd9Sstevel@tonic-gate 
7117c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE *
7127c478bd9Sstevel@tonic-gate AcpiUtCreateGenericState (
7137c478bd9Sstevel@tonic-gate     void);
7147c478bd9Sstevel@tonic-gate 
7157c478bd9Sstevel@tonic-gate ACPI_THREAD_STATE *
7167c478bd9Sstevel@tonic-gate AcpiUtCreateThreadState (
7177c478bd9Sstevel@tonic-gate     void);
7187c478bd9Sstevel@tonic-gate 
7197c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE *
7207c478bd9Sstevel@tonic-gate AcpiUtCreateUpdateState (
7217c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object,
7227c478bd9Sstevel@tonic-gate     UINT16                  Action);
7237c478bd9Sstevel@tonic-gate 
7247c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE *
7257c478bd9Sstevel@tonic-gate AcpiUtCreatePkgState (
7267c478bd9Sstevel@tonic-gate     void                    *InternalObject,
7277c478bd9Sstevel@tonic-gate     void                    *ExternalObject,
7287c478bd9Sstevel@tonic-gate     UINT16                  Index);
7297c478bd9Sstevel@tonic-gate 
7307c478bd9Sstevel@tonic-gate ACPI_STATUS
7317c478bd9Sstevel@tonic-gate AcpiUtCreateUpdateStateAndPush (
7327c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object,
7337c478bd9Sstevel@tonic-gate     UINT16                  Action,
7347c478bd9Sstevel@tonic-gate     ACPI_GENERIC_STATE      **StateList);
7357c478bd9Sstevel@tonic-gate 
7367c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE *
7377c478bd9Sstevel@tonic-gate AcpiUtCreateControlState (
7387c478bd9Sstevel@tonic-gate     void);
7397c478bd9Sstevel@tonic-gate 
7407c478bd9Sstevel@tonic-gate void
7417c478bd9Sstevel@tonic-gate AcpiUtDeleteGenericState (
7427c478bd9Sstevel@tonic-gate     ACPI_GENERIC_STATE      *State);
7437c478bd9Sstevel@tonic-gate 
7447c478bd9Sstevel@tonic-gate 
7457c478bd9Sstevel@tonic-gate /*
7467c478bd9Sstevel@tonic-gate  * utmath
7477c478bd9Sstevel@tonic-gate  */
7487c478bd9Sstevel@tonic-gate ACPI_STATUS
7497c478bd9Sstevel@tonic-gate AcpiUtDivide (
75026f3cdf0SGordon Ross     UINT64                  InDividend,
75126f3cdf0SGordon Ross     UINT64                  InDivisor,
75226f3cdf0SGordon Ross     UINT64                  *OutQuotient,
75326f3cdf0SGordon Ross     UINT64                  *OutRemainder);
7547c478bd9Sstevel@tonic-gate 
7557c478bd9Sstevel@tonic-gate ACPI_STATUS
7567c478bd9Sstevel@tonic-gate AcpiUtShortDivide (
75726f3cdf0SGordon Ross     UINT64                  InDividend,
7587c478bd9Sstevel@tonic-gate     UINT32                  Divisor,
75926f3cdf0SGordon Ross     UINT64                  *OutQuotient,
7607c478bd9Sstevel@tonic-gate     UINT32                  *OutRemainder);
7617c478bd9Sstevel@tonic-gate 
762*385cc6b4SJerry Jelinek 
7637c478bd9Sstevel@tonic-gate /*
7647c478bd9Sstevel@tonic-gate  * utmisc
7657c478bd9Sstevel@tonic-gate  */
766*385cc6b4SJerry Jelinek const ACPI_EXCEPTION_INFO *
767db2bae30SDana Myers AcpiUtValidateException (
768db2bae30SDana Myers     ACPI_STATUS             Status);
769db2bae30SDana Myers 
77027f7c583Smyers BOOLEAN
77157190917SDana Myers AcpiUtIsPciRootBridge (
77257190917SDana Myers     char                    *Id);
77357190917SDana Myers 
774*385cc6b4SJerry Jelinek #if (defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP || defined ACPI_NAMES_APP)
77557190917SDana Myers BOOLEAN
77627f7c583Smyers AcpiUtIsAmlTable (
77727f7c583Smyers     ACPI_TABLE_HEADER       *Table);
778*385cc6b4SJerry Jelinek #endif
779450d6964Smyers 
780450d6964Smyers ACPI_STATUS
7817c478bd9Sstevel@tonic-gate AcpiUtWalkPackageTree (
7827c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *SourceObject,
7837c478bd9Sstevel@tonic-gate     void                    *TargetObject,
7847c478bd9Sstevel@tonic-gate     ACPI_PKG_CALLBACK       WalkCallback,
7857c478bd9Sstevel@tonic-gate     void                    *Context);
7867c478bd9Sstevel@tonic-gate 
7877c478bd9Sstevel@tonic-gate /* Values for Base above (16=Hex, 10=Decimal) */
7887c478bd9Sstevel@tonic-gate 
7897c478bd9Sstevel@tonic-gate #define ACPI_ANY_BASE        0
7907c478bd9Sstevel@tonic-gate 
791*385cc6b4SJerry Jelinek 
79227f7c583Smyers UINT32
79327f7c583Smyers AcpiUtDwordByteSwap (
79427f7c583Smyers     UINT32                  Value);
79527f7c583Smyers 
79627f7c583Smyers void
79727f7c583Smyers AcpiUtSetIntegerWidth (
79827f7c583Smyers     UINT8                   Revision);
79927f7c583Smyers 
80027f7c583Smyers #ifdef ACPI_DEBUG_OUTPUT
80127f7c583Smyers void
80227f7c583Smyers AcpiUtDisplayInitPathname (
80327f7c583Smyers     UINT8                   Type,
80427f7c583Smyers     ACPI_NAMESPACE_NODE     *ObjHandle,
805*385cc6b4SJerry Jelinek     const char              *Path);
80627f7c583Smyers #endif
80727f7c583Smyers 
80827f7c583Smyers 
80927f7c583Smyers /*
810*385cc6b4SJerry Jelinek  * utownerid - Support for Table/Method Owner IDs
811*385cc6b4SJerry Jelinek  */
812*385cc6b4SJerry Jelinek ACPI_STATUS
813*385cc6b4SJerry Jelinek AcpiUtAllocateOwnerId (
814*385cc6b4SJerry Jelinek     ACPI_OWNER_ID           *OwnerId);
815*385cc6b4SJerry Jelinek 
816*385cc6b4SJerry Jelinek void
817*385cc6b4SJerry Jelinek AcpiUtReleaseOwnerId (
818*385cc6b4SJerry Jelinek     ACPI_OWNER_ID           *OwnerId);
819*385cc6b4SJerry Jelinek 
820*385cc6b4SJerry Jelinek 
821*385cc6b4SJerry Jelinek /*
82227f7c583Smyers  * utresrc
82327f7c583Smyers  */
82427f7c583Smyers ACPI_STATUS
82527f7c583Smyers AcpiUtWalkAmlResources (
826*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState,
82727f7c583Smyers     UINT8                   *Aml,
82827f7c583Smyers     ACPI_SIZE               AmlLength,
82927f7c583Smyers     ACPI_WALK_AML_CALLBACK  UserFunction,
830*385cc6b4SJerry Jelinek     void                    **Context);
83127f7c583Smyers 
83230082d0cSmyers ACPI_STATUS
83330082d0cSmyers AcpiUtValidateResource (
834*385cc6b4SJerry Jelinek     ACPI_WALK_STATE         *WalkState,
83530082d0cSmyers     void                    *Aml,
83630082d0cSmyers     UINT8                   *ReturnIndex);
83730082d0cSmyers 
83830082d0cSmyers UINT32
83930082d0cSmyers AcpiUtGetDescriptorLength (
84030082d0cSmyers     void                    *Aml);
84130082d0cSmyers 
84230082d0cSmyers UINT16
84330082d0cSmyers AcpiUtGetResourceLength (
84430082d0cSmyers     void                    *Aml);
8457c478bd9Sstevel@tonic-gate 
8467c478bd9Sstevel@tonic-gate UINT8
84730082d0cSmyers AcpiUtGetResourceHeaderLength (
84830082d0cSmyers     void                    *Aml);
84930082d0cSmyers 
85030082d0cSmyers UINT8
85130082d0cSmyers AcpiUtGetResourceType (
85230082d0cSmyers     void                    *Aml);
85330082d0cSmyers 
85430082d0cSmyers ACPI_STATUS
85530082d0cSmyers AcpiUtGetResourceEndTag (
85630082d0cSmyers     ACPI_OPERAND_OBJECT     *ObjDesc,
85730082d0cSmyers     UINT8                   **EndTag);
8587c478bd9Sstevel@tonic-gate 
8597c478bd9Sstevel@tonic-gate 
8607c478bd9Sstevel@tonic-gate /*
861*385cc6b4SJerry Jelinek  * utstring - String and character utilities
862*385cc6b4SJerry Jelinek  */
863*385cc6b4SJerry Jelinek void
864*385cc6b4SJerry Jelinek AcpiUtPrintString (
865*385cc6b4SJerry Jelinek     char                    *String,
866*385cc6b4SJerry Jelinek     UINT16                  MaxLength);
867*385cc6b4SJerry Jelinek 
868*385cc6b4SJerry Jelinek #if defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP
869*385cc6b4SJerry Jelinek void
870*385cc6b4SJerry Jelinek UtConvertBackslashes (
871*385cc6b4SJerry Jelinek     char                    *Pathname);
872*385cc6b4SJerry Jelinek #endif
873*385cc6b4SJerry Jelinek 
874*385cc6b4SJerry Jelinek void
875*385cc6b4SJerry Jelinek AcpiUtRepairName (
876*385cc6b4SJerry Jelinek     char                    *Name);
877*385cc6b4SJerry Jelinek 
878*385cc6b4SJerry Jelinek #if defined (ACPI_DEBUGGER) || defined (ACPI_APPLICATION)
879*385cc6b4SJerry Jelinek BOOLEAN
880*385cc6b4SJerry Jelinek AcpiUtSafeStrcpy (
881*385cc6b4SJerry Jelinek     char                    *Dest,
882*385cc6b4SJerry Jelinek     ACPI_SIZE               DestSize,
883*385cc6b4SJerry Jelinek     char                    *Source);
884*385cc6b4SJerry Jelinek 
885*385cc6b4SJerry Jelinek BOOLEAN
886*385cc6b4SJerry Jelinek AcpiUtSafeStrcat (
887*385cc6b4SJerry Jelinek     char                    *Dest,
888*385cc6b4SJerry Jelinek     ACPI_SIZE               DestSize,
889*385cc6b4SJerry Jelinek     char                    *Source);
890*385cc6b4SJerry Jelinek 
891*385cc6b4SJerry Jelinek BOOLEAN
892*385cc6b4SJerry Jelinek AcpiUtSafeStrncat (
893*385cc6b4SJerry Jelinek     char                    *Dest,
894*385cc6b4SJerry Jelinek     ACPI_SIZE               DestSize,
895*385cc6b4SJerry Jelinek     char                    *Source,
896*385cc6b4SJerry Jelinek     ACPI_SIZE               MaxTransferLength);
897*385cc6b4SJerry Jelinek #endif
898*385cc6b4SJerry Jelinek 
899*385cc6b4SJerry Jelinek 
900*385cc6b4SJerry Jelinek /*
901450d6964Smyers  * utmutex - mutex support
902450d6964Smyers  */
903450d6964Smyers ACPI_STATUS
904450d6964Smyers AcpiUtMutexInitialize (
905450d6964Smyers     void);
906450d6964Smyers 
907450d6964Smyers void
908450d6964Smyers AcpiUtMutexTerminate (
909450d6964Smyers     void);
910450d6964Smyers 
911450d6964Smyers ACPI_STATUS
912450d6964Smyers AcpiUtAcquireMutex (
913450d6964Smyers     ACPI_MUTEX_HANDLE       MutexId);
914450d6964Smyers 
915450d6964Smyers ACPI_STATUS
916450d6964Smyers AcpiUtReleaseMutex (
917450d6964Smyers     ACPI_MUTEX_HANDLE       MutexId);
918450d6964Smyers 
919450d6964Smyers 
920450d6964Smyers /*
9217c478bd9Sstevel@tonic-gate  * utalloc - memory allocation and object caching
9227c478bd9Sstevel@tonic-gate  */
923450d6964Smyers ACPI_STATUS
924450d6964Smyers AcpiUtCreateCaches (
925450d6964Smyers     void);
9267c478bd9Sstevel@tonic-gate 
927450d6964Smyers ACPI_STATUS
928450d6964Smyers AcpiUtDeleteCaches (
929450d6964Smyers     void);
9307c478bd9Sstevel@tonic-gate 
9317c478bd9Sstevel@tonic-gate ACPI_STATUS
9327c478bd9Sstevel@tonic-gate AcpiUtValidateBuffer (
9337c478bd9Sstevel@tonic-gate     ACPI_BUFFER             *Buffer);
9347c478bd9Sstevel@tonic-gate 
9357c478bd9Sstevel@tonic-gate ACPI_STATUS
9367c478bd9Sstevel@tonic-gate AcpiUtInitializeBuffer (
9377c478bd9Sstevel@tonic-gate     ACPI_BUFFER             *Buffer,
9387c478bd9Sstevel@tonic-gate     ACPI_SIZE               RequiredLength);
9397c478bd9Sstevel@tonic-gate 
9407c478bd9Sstevel@tonic-gate #ifdef ACPI_DBG_TRACK_ALLOCATIONS
9417c478bd9Sstevel@tonic-gate void *
9427c478bd9Sstevel@tonic-gate AcpiUtAllocateAndTrack (
9437c478bd9Sstevel@tonic-gate     ACPI_SIZE               Size,
9447c478bd9Sstevel@tonic-gate     UINT32                  Component,
945db2bae30SDana Myers     const char              *Module,
9467c478bd9Sstevel@tonic-gate     UINT32                  Line);
9477c478bd9Sstevel@tonic-gate 
9487c478bd9Sstevel@tonic-gate void *
94927f7c583Smyers AcpiUtAllocateZeroedAndTrack (
9507c478bd9Sstevel@tonic-gate     ACPI_SIZE               Size,
9517c478bd9Sstevel@tonic-gate     UINT32                  Component,
952db2bae30SDana Myers     const char              *Module,
9537c478bd9Sstevel@tonic-gate     UINT32                  Line);
9547c478bd9Sstevel@tonic-gate 
9557c478bd9Sstevel@tonic-gate void
9567c478bd9Sstevel@tonic-gate AcpiUtFreeAndTrack (
9577c478bd9Sstevel@tonic-gate     void                    *Address,
9587c478bd9Sstevel@tonic-gate     UINT32                  Component,
959db2bae30SDana Myers     const char              *Module,
9607c478bd9Sstevel@tonic-gate     UINT32                  Line);
9617c478bd9Sstevel@tonic-gate 
9627c478bd9Sstevel@tonic-gate void
9637c478bd9Sstevel@tonic-gate AcpiUtDumpAllocationInfo (
9647c478bd9Sstevel@tonic-gate     void);
9657c478bd9Sstevel@tonic-gate 
9667c478bd9Sstevel@tonic-gate void
9677c478bd9Sstevel@tonic-gate AcpiUtDumpAllocations (
9687c478bd9Sstevel@tonic-gate     UINT32                  Component,
969db2bae30SDana Myers     const char              *Module);
97027f7c583Smyers 
97127f7c583Smyers ACPI_STATUS
97227f7c583Smyers AcpiUtCreateList (
973*385cc6b4SJerry Jelinek     const char              *ListName,
97427f7c583Smyers     UINT16                  ObjectSize,
97527f7c583Smyers     ACPI_MEMORY_LIST        **ReturnCache);
97627f7c583Smyers 
97726f3cdf0SGordon Ross #endif /* ACPI_DBG_TRACK_ALLOCATIONS */
97827f7c583Smyers 
97926f3cdf0SGordon Ross 
98026f3cdf0SGordon Ross /*
981*385cc6b4SJerry Jelinek  * utaddress - address range check
982*385cc6b4SJerry Jelinek  */
983*385cc6b4SJerry Jelinek ACPI_STATUS
984*385cc6b4SJerry Jelinek AcpiUtAddAddressRange (
985*385cc6b4SJerry Jelinek     ACPI_ADR_SPACE_TYPE     SpaceId,
986*385cc6b4SJerry Jelinek     ACPI_PHYSICAL_ADDRESS   Address,
987*385cc6b4SJerry Jelinek     UINT32                  Length,
988*385cc6b4SJerry Jelinek     ACPI_NAMESPACE_NODE     *RegionNode);
989*385cc6b4SJerry Jelinek 
990*385cc6b4SJerry Jelinek void
991*385cc6b4SJerry Jelinek AcpiUtRemoveAddressRange (
992*385cc6b4SJerry Jelinek     ACPI_ADR_SPACE_TYPE     SpaceId,
993*385cc6b4SJerry Jelinek     ACPI_NAMESPACE_NODE     *RegionNode);
994*385cc6b4SJerry Jelinek 
995*385cc6b4SJerry Jelinek UINT32
996*385cc6b4SJerry Jelinek AcpiUtCheckAddressRange (
997*385cc6b4SJerry Jelinek     ACPI_ADR_SPACE_TYPE     SpaceId,
998*385cc6b4SJerry Jelinek     ACPI_PHYSICAL_ADDRESS   Address,
999*385cc6b4SJerry Jelinek     UINT32                  Length,
1000*385cc6b4SJerry Jelinek     BOOLEAN                 Warn);
1001*385cc6b4SJerry Jelinek 
1002*385cc6b4SJerry Jelinek void
1003*385cc6b4SJerry Jelinek AcpiUtDeleteAddressLists (
1004*385cc6b4SJerry Jelinek     void);
1005*385cc6b4SJerry Jelinek 
1006*385cc6b4SJerry Jelinek 
1007*385cc6b4SJerry Jelinek /*
100826f3cdf0SGordon Ross  * utxferror - various error/warning output functions
100926f3cdf0SGordon Ross  */
101026f3cdf0SGordon Ross void ACPI_INTERNAL_VAR_XFACE
101126f3cdf0SGordon Ross AcpiUtPredefinedWarning (
101226f3cdf0SGordon Ross     const char              *ModuleName,
101326f3cdf0SGordon Ross     UINT32                  LineNumber,
101426f3cdf0SGordon Ross     char                    *Pathname,
101526f3cdf0SGordon Ross     UINT8                   NodeFlags,
101626f3cdf0SGordon Ross     const char              *Format,
101726f3cdf0SGordon Ross     ...);
101826f3cdf0SGordon Ross 
101926f3cdf0SGordon Ross void ACPI_INTERNAL_VAR_XFACE
102026f3cdf0SGordon Ross AcpiUtPredefinedInfo (
102126f3cdf0SGordon Ross     const char              *ModuleName,
102226f3cdf0SGordon Ross     UINT32                  LineNumber,
102326f3cdf0SGordon Ross     char                    *Pathname,
102426f3cdf0SGordon Ross     UINT8                   NodeFlags,
102526f3cdf0SGordon Ross     const char              *Format,
102626f3cdf0SGordon Ross     ...);
102726f3cdf0SGordon Ross 
1028*385cc6b4SJerry Jelinek void ACPI_INTERNAL_VAR_XFACE
1029*385cc6b4SJerry Jelinek AcpiUtPredefinedBiosError (
1030*385cc6b4SJerry Jelinek     const char              *ModuleName,
1031*385cc6b4SJerry Jelinek     UINT32                  LineNumber,
1032*385cc6b4SJerry Jelinek     char                    *Pathname,
1033*385cc6b4SJerry Jelinek     UINT8                   NodeFlags,
1034*385cc6b4SJerry Jelinek     const char              *Format,
1035*385cc6b4SJerry Jelinek     ...);
1036*385cc6b4SJerry Jelinek 
103726f3cdf0SGordon Ross void
103826f3cdf0SGordon Ross AcpiUtNamespaceError (
103926f3cdf0SGordon Ross     const char              *ModuleName,
104026f3cdf0SGordon Ross     UINT32                  LineNumber,
104126f3cdf0SGordon Ross     const char              *InternalName,
104226f3cdf0SGordon Ross     ACPI_STATUS             LookupStatus);
104326f3cdf0SGordon Ross 
104426f3cdf0SGordon Ross void
104526f3cdf0SGordon Ross AcpiUtMethodError (
104626f3cdf0SGordon Ross     const char              *ModuleName,
104726f3cdf0SGordon Ross     UINT32                  LineNumber,
104826f3cdf0SGordon Ross     const char              *Message,
104926f3cdf0SGordon Ross     ACPI_NAMESPACE_NODE     *Node,
105026f3cdf0SGordon Ross     const char              *Path,
105126f3cdf0SGordon Ross     ACPI_STATUS             LookupStatus);
10527c478bd9Sstevel@tonic-gate 
1053*385cc6b4SJerry Jelinek 
1054*385cc6b4SJerry Jelinek /*
1055*385cc6b4SJerry Jelinek  * Utility functions for ACPI names and IDs
1056*385cc6b4SJerry Jelinek  */
1057*385cc6b4SJerry Jelinek const AH_PREDEFINED_NAME *
1058*385cc6b4SJerry Jelinek AcpiAhMatchPredefinedName (
1059*385cc6b4SJerry Jelinek     char                    *Nameseg);
1060*385cc6b4SJerry Jelinek 
1061*385cc6b4SJerry Jelinek const AH_DEVICE_ID *
1062*385cc6b4SJerry Jelinek AcpiAhMatchHardwareId (
1063*385cc6b4SJerry Jelinek     char                    *Hid);
1064*385cc6b4SJerry Jelinek 
1065*385cc6b4SJerry Jelinek const char *
1066*385cc6b4SJerry Jelinek AcpiAhMatchUuid (
1067*385cc6b4SJerry Jelinek     UINT8                   *Data);
1068*385cc6b4SJerry Jelinek 
1069*385cc6b4SJerry Jelinek 
1070*385cc6b4SJerry Jelinek /*
1071*385cc6b4SJerry Jelinek  * utprint - printf/vprintf output functions
1072*385cc6b4SJerry Jelinek  */
1073*385cc6b4SJerry Jelinek const char *
1074*385cc6b4SJerry Jelinek AcpiUtScanNumber (
1075*385cc6b4SJerry Jelinek     const char              *String,
1076*385cc6b4SJerry Jelinek     UINT64                  *NumberPtr);
1077*385cc6b4SJerry Jelinek 
1078*385cc6b4SJerry Jelinek const char *
1079*385cc6b4SJerry Jelinek AcpiUtPrintNumber (
1080*385cc6b4SJerry Jelinek     char                    *String,
1081*385cc6b4SJerry Jelinek     UINT64                  Number);
1082*385cc6b4SJerry Jelinek 
1083*385cc6b4SJerry Jelinek int
1084*385cc6b4SJerry Jelinek AcpiUtVsnprintf (
1085*385cc6b4SJerry Jelinek     char                    *String,
1086*385cc6b4SJerry Jelinek     ACPI_SIZE               Size,
1087*385cc6b4SJerry Jelinek     const char              *Format,
1088*385cc6b4SJerry Jelinek     va_list                 Args);
1089*385cc6b4SJerry Jelinek 
1090*385cc6b4SJerry Jelinek int
1091*385cc6b4SJerry Jelinek AcpiUtSnprintf (
1092*385cc6b4SJerry Jelinek     char                    *String,
1093*385cc6b4SJerry Jelinek     ACPI_SIZE               Size,
1094*385cc6b4SJerry Jelinek     const char              *Format,
1095*385cc6b4SJerry Jelinek     ...);
1096*385cc6b4SJerry Jelinek 
1097*385cc6b4SJerry Jelinek #ifdef ACPI_APPLICATION
1098*385cc6b4SJerry Jelinek int
1099*385cc6b4SJerry Jelinek AcpiUtFileVprintf (
1100*385cc6b4SJerry Jelinek     ACPI_FILE               File,
1101*385cc6b4SJerry Jelinek     const char              *Format,
1102*385cc6b4SJerry Jelinek     va_list                 Args);
1103*385cc6b4SJerry Jelinek 
1104*385cc6b4SJerry Jelinek int
1105*385cc6b4SJerry Jelinek AcpiUtFilePrintf (
1106*385cc6b4SJerry Jelinek     ACPI_FILE               File,
1107*385cc6b4SJerry Jelinek     const char              *Format,
1108*385cc6b4SJerry Jelinek     ...);
1109*385cc6b4SJerry Jelinek #endif
1110*385cc6b4SJerry Jelinek 
1111*385cc6b4SJerry Jelinek 
1112*385cc6b4SJerry Jelinek /*
1113*385cc6b4SJerry Jelinek  * utuuid -- UUID support functions
1114*385cc6b4SJerry Jelinek  */
1115*385cc6b4SJerry Jelinek #if (defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP || defined ACPI_HELP_APP)
1116*385cc6b4SJerry Jelinek void
1117*385cc6b4SJerry Jelinek AcpiUtConvertStringToUuid (
1118*385cc6b4SJerry Jelinek     char                    *InString,
1119*385cc6b4SJerry Jelinek     UINT8                   *UuidBuffer);
1120*385cc6b4SJerry Jelinek #endif
1121*385cc6b4SJerry Jelinek 
11227c478bd9Sstevel@tonic-gate #endif /* _ACUTILS_H */
1123