xref: /titanic_41/usr/src/uts/intel/sys/acpi/acnamesp.h (revision de5d74c22760a6d2cefd94d0e7f0fd87214fb71f)
17c478bd9Sstevel@tonic-gate /******************************************************************************
27c478bd9Sstevel@tonic-gate  *
37c478bd9Sstevel@tonic-gate  * Name: acnamesp.h - Namespace subcomponent prototypes and defines
47c478bd9Sstevel@tonic-gate  *
57c478bd9Sstevel@tonic-gate  *****************************************************************************/
67c478bd9Sstevel@tonic-gate 
726f3cdf0SGordon Ross /*
8*de5d74c2SJerry 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 __ACNAMESP_H__
457c478bd9Sstevel@tonic-gate #define __ACNAMESP_H__
467c478bd9Sstevel@tonic-gate 
477c478bd9Sstevel@tonic-gate 
487c478bd9Sstevel@tonic-gate /* To search the entire name space, pass this as SearchBase */
497c478bd9Sstevel@tonic-gate 
507c478bd9Sstevel@tonic-gate #define ACPI_NS_ALL                 ((ACPI_HANDLE)0)
517c478bd9Sstevel@tonic-gate 
527c478bd9Sstevel@tonic-gate /*
537c478bd9Sstevel@tonic-gate  * Elements of AcpiNsProperties are bit significant
547c478bd9Sstevel@tonic-gate  * and should be one-to-one with values of ACPI_OBJECT_TYPE
557c478bd9Sstevel@tonic-gate  */
567c478bd9Sstevel@tonic-gate #define ACPI_NS_NORMAL              0
577c478bd9Sstevel@tonic-gate #define ACPI_NS_NEWSCOPE            1   /* a definition of this type opens a name scope */
587c478bd9Sstevel@tonic-gate #define ACPI_NS_LOCAL               2   /* suppress search of enclosing scopes */
597c478bd9Sstevel@tonic-gate 
607c478bd9Sstevel@tonic-gate /* Flags for AcpiNsLookup, AcpiNsSearchAndEnter */
617c478bd9Sstevel@tonic-gate 
627c478bd9Sstevel@tonic-gate #define ACPI_NS_NO_UPSEARCH         0
637c478bd9Sstevel@tonic-gate #define ACPI_NS_SEARCH_PARENT       0x01
647c478bd9Sstevel@tonic-gate #define ACPI_NS_DONT_OPEN_SCOPE     0x02
657c478bd9Sstevel@tonic-gate #define ACPI_NS_NO_PEER_SEARCH      0x04
667c478bd9Sstevel@tonic-gate #define ACPI_NS_ERROR_IF_FOUND      0x08
6727f7c583Smyers #define ACPI_NS_PREFIX_IS_SCOPE     0x10
6827f7c583Smyers #define ACPI_NS_EXTERNAL            0x20
69db2bae30SDana Myers #define ACPI_NS_TEMPORARY           0x40
70*de5d74c2SJerry Jelinek #define ACPI_NS_OVERRIDE_IF_FOUND   0x80
717c478bd9Sstevel@tonic-gate 
72db2bae30SDana Myers /* Flags for AcpiNsWalkNamespace */
73db2bae30SDana Myers 
74db2bae30SDana Myers #define ACPI_NS_WALK_NO_UNLOCK      0
75db2bae30SDana Myers #define ACPI_NS_WALK_UNLOCK         0x01
76db2bae30SDana Myers #define ACPI_NS_WALK_TEMP_NODES     0x02
777c478bd9Sstevel@tonic-gate 
7857190917SDana Myers /* Object is not a package element */
7957190917SDana Myers 
8057190917SDana Myers #define ACPI_NOT_PACKAGE_ELEMENT    ACPI_UINT32_MAX
81*de5d74c2SJerry Jelinek #define ACPI_ALL_PACKAGE_ELEMENTS   (ACPI_UINT32_MAX-1)
8257190917SDana Myers 
8357190917SDana Myers /* Always emit warning message, not dependent on node flags */
8457190917SDana Myers 
8557190917SDana Myers #define ACPI_WARN_ALWAYS            0
8657190917SDana Myers 
877c478bd9Sstevel@tonic-gate 
887c478bd9Sstevel@tonic-gate /*
897c478bd9Sstevel@tonic-gate  * nsinit - Namespace initialization
907c478bd9Sstevel@tonic-gate  */
917c478bd9Sstevel@tonic-gate ACPI_STATUS
927c478bd9Sstevel@tonic-gate AcpiNsInitializeObjects (
937c478bd9Sstevel@tonic-gate     void);
947c478bd9Sstevel@tonic-gate 
957c478bd9Sstevel@tonic-gate ACPI_STATUS
967c478bd9Sstevel@tonic-gate AcpiNsInitializeDevices (
97*de5d74c2SJerry Jelinek     UINT32                  Flags);
987c478bd9Sstevel@tonic-gate 
997c478bd9Sstevel@tonic-gate 
1007c478bd9Sstevel@tonic-gate /*
1017c478bd9Sstevel@tonic-gate  * nsload -  Namespace loading
1027c478bd9Sstevel@tonic-gate  */
1037c478bd9Sstevel@tonic-gate ACPI_STATUS
1047c478bd9Sstevel@tonic-gate AcpiNsLoadNamespace (
1057c478bd9Sstevel@tonic-gate     void);
1067c478bd9Sstevel@tonic-gate 
1077c478bd9Sstevel@tonic-gate ACPI_STATUS
1087c478bd9Sstevel@tonic-gate AcpiNsLoadTable (
109db2bae30SDana Myers     UINT32                  TableIndex,
1107c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
1117c478bd9Sstevel@tonic-gate 
1127c478bd9Sstevel@tonic-gate 
1137c478bd9Sstevel@tonic-gate /*
1147c478bd9Sstevel@tonic-gate  * nswalk - walk the namespace
1157c478bd9Sstevel@tonic-gate  */
1167c478bd9Sstevel@tonic-gate ACPI_STATUS
1177c478bd9Sstevel@tonic-gate AcpiNsWalkNamespace (
1187c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
1197c478bd9Sstevel@tonic-gate     ACPI_HANDLE             StartObject,
1207c478bd9Sstevel@tonic-gate     UINT32                  MaxDepth,
121db2bae30SDana Myers     UINT32                  Flags,
122*de5d74c2SJerry Jelinek     ACPI_WALK_CALLBACK      DescendingCallback,
123*de5d74c2SJerry Jelinek     ACPI_WALK_CALLBACK      AscendingCallback,
1247c478bd9Sstevel@tonic-gate     void                    *Context,
1257c478bd9Sstevel@tonic-gate     void                    **ReturnValue);
1267c478bd9Sstevel@tonic-gate 
1277c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *
1287c478bd9Sstevel@tonic-gate AcpiNsGetNextNode (
1297c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Parent,
1307c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Child);
1317c478bd9Sstevel@tonic-gate 
132aa2aa9a6SDana Myers ACPI_NAMESPACE_NODE *
133aa2aa9a6SDana Myers AcpiNsGetNextNodeTyped (
134aa2aa9a6SDana Myers     ACPI_OBJECT_TYPE        Type,
135aa2aa9a6SDana Myers     ACPI_NAMESPACE_NODE     *Parent,
136aa2aa9a6SDana Myers     ACPI_NAMESPACE_NODE     *Child);
1377c478bd9Sstevel@tonic-gate 
1387c478bd9Sstevel@tonic-gate /*
1397c478bd9Sstevel@tonic-gate  * nsparse - table parsing
1407c478bd9Sstevel@tonic-gate  */
1417c478bd9Sstevel@tonic-gate ACPI_STATUS
1427c478bd9Sstevel@tonic-gate AcpiNsParseTable (
143db2bae30SDana Myers     UINT32                  TableIndex,
144db2bae30SDana Myers     ACPI_NAMESPACE_NODE     *StartNode);
1457c478bd9Sstevel@tonic-gate 
1467c478bd9Sstevel@tonic-gate ACPI_STATUS
1477c478bd9Sstevel@tonic-gate AcpiNsOneCompleteParse (
148db2bae30SDana Myers     UINT32                  PassNumber,
149db2bae30SDana Myers     UINT32                  TableIndex,
150db2bae30SDana Myers     ACPI_NAMESPACE_NODE     *StartNode);
1517c478bd9Sstevel@tonic-gate 
1527c478bd9Sstevel@tonic-gate 
1537c478bd9Sstevel@tonic-gate /*
1547c478bd9Sstevel@tonic-gate  * nsaccess - Top-level namespace access
1557c478bd9Sstevel@tonic-gate  */
1567c478bd9Sstevel@tonic-gate ACPI_STATUS
1577c478bd9Sstevel@tonic-gate AcpiNsRootInitialize (
1587c478bd9Sstevel@tonic-gate     void);
1597c478bd9Sstevel@tonic-gate 
1607c478bd9Sstevel@tonic-gate ACPI_STATUS
1617c478bd9Sstevel@tonic-gate AcpiNsLookup (
1627c478bd9Sstevel@tonic-gate     ACPI_GENERIC_STATE      *ScopeInfo,
1637c478bd9Sstevel@tonic-gate     char                    *Name,
1647c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
1657c478bd9Sstevel@tonic-gate     ACPI_INTERPRETER_MODE   InterpreterMode,
1667c478bd9Sstevel@tonic-gate     UINT32                  Flags,
1677c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
1687c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     **RetNode);
1697c478bd9Sstevel@tonic-gate 
1707c478bd9Sstevel@tonic-gate 
1717c478bd9Sstevel@tonic-gate /*
1727c478bd9Sstevel@tonic-gate  * nsalloc - Named object allocation/deallocation
1737c478bd9Sstevel@tonic-gate  */
1747c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *
1757c478bd9Sstevel@tonic-gate AcpiNsCreateNode (
1767c478bd9Sstevel@tonic-gate     UINT32                  Name);
1777c478bd9Sstevel@tonic-gate 
1787c478bd9Sstevel@tonic-gate void
1797c478bd9Sstevel@tonic-gate AcpiNsDeleteNode (
1807c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
1817c478bd9Sstevel@tonic-gate 
1827c478bd9Sstevel@tonic-gate void
18357190917SDana Myers AcpiNsRemoveNode (
18457190917SDana Myers     ACPI_NAMESPACE_NODE     *Node);
18557190917SDana Myers 
18657190917SDana Myers void
1877c478bd9Sstevel@tonic-gate AcpiNsDeleteNamespaceSubtree (
1887c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *ParentHandle);
1897c478bd9Sstevel@tonic-gate 
1907c478bd9Sstevel@tonic-gate void
1917c478bd9Sstevel@tonic-gate AcpiNsDeleteNamespaceByOwner (
192450d6964Smyers     ACPI_OWNER_ID           OwnerId);
1937c478bd9Sstevel@tonic-gate 
1947c478bd9Sstevel@tonic-gate void
1957c478bd9Sstevel@tonic-gate AcpiNsDetachObject (
1967c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
1977c478bd9Sstevel@tonic-gate 
1987c478bd9Sstevel@tonic-gate void
1997c478bd9Sstevel@tonic-gate AcpiNsDeleteChildren (
2007c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Parent);
2017c478bd9Sstevel@tonic-gate 
2027c478bd9Sstevel@tonic-gate int
2037c478bd9Sstevel@tonic-gate AcpiNsCompareNames (
2047c478bd9Sstevel@tonic-gate     char                    *Name1,
2057c478bd9Sstevel@tonic-gate     char                    *Name2);
2067c478bd9Sstevel@tonic-gate 
2077c478bd9Sstevel@tonic-gate 
2087c478bd9Sstevel@tonic-gate /*
209*de5d74c2SJerry Jelinek  * nsconvert - Dynamic object conversion routines
210*de5d74c2SJerry Jelinek  */
211*de5d74c2SJerry Jelinek ACPI_STATUS
212*de5d74c2SJerry Jelinek AcpiNsConvertToInteger (
213*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     *OriginalObject,
214*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     **ReturnObject);
215*de5d74c2SJerry Jelinek 
216*de5d74c2SJerry Jelinek ACPI_STATUS
217*de5d74c2SJerry Jelinek AcpiNsConvertToString (
218*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     *OriginalObject,
219*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     **ReturnObject);
220*de5d74c2SJerry Jelinek 
221*de5d74c2SJerry Jelinek ACPI_STATUS
222*de5d74c2SJerry Jelinek AcpiNsConvertToBuffer (
223*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     *OriginalObject,
224*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     **ReturnObject);
225*de5d74c2SJerry Jelinek 
226*de5d74c2SJerry Jelinek ACPI_STATUS
227*de5d74c2SJerry Jelinek AcpiNsConvertToUnicode (
228*de5d74c2SJerry Jelinek     ACPI_NAMESPACE_NODE     *Scope,
229*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     *OriginalObject,
230*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     **ReturnObject);
231*de5d74c2SJerry Jelinek 
232*de5d74c2SJerry Jelinek ACPI_STATUS
233*de5d74c2SJerry Jelinek AcpiNsConvertToResource (
234*de5d74c2SJerry Jelinek     ACPI_NAMESPACE_NODE     *Scope,
235*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     *OriginalObject,
236*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     **ReturnObject);
237*de5d74c2SJerry Jelinek 
238*de5d74c2SJerry Jelinek ACPI_STATUS
239*de5d74c2SJerry Jelinek AcpiNsConvertToReference (
240*de5d74c2SJerry Jelinek     ACPI_NAMESPACE_NODE     *Scope,
241*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     *OriginalObject,
242*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     **ReturnObject);
243*de5d74c2SJerry Jelinek 
244*de5d74c2SJerry Jelinek 
245*de5d74c2SJerry Jelinek /*
2467c478bd9Sstevel@tonic-gate  * nsdump - Namespace dump/print utilities
2477c478bd9Sstevel@tonic-gate  */
2487c478bd9Sstevel@tonic-gate void
2497c478bd9Sstevel@tonic-gate AcpiNsDumpTables (
2507c478bd9Sstevel@tonic-gate     ACPI_HANDLE             SearchBase,
2517c478bd9Sstevel@tonic-gate     UINT32                  MaxDepth);
2527c478bd9Sstevel@tonic-gate 
2537c478bd9Sstevel@tonic-gate void
2547c478bd9Sstevel@tonic-gate AcpiNsDumpEntry (
2557c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Handle,
2567c478bd9Sstevel@tonic-gate     UINT32                  DebugLevel);
2577c478bd9Sstevel@tonic-gate 
2587c478bd9Sstevel@tonic-gate void
2597c478bd9Sstevel@tonic-gate AcpiNsDumpPathname (
2607c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Handle,
261*de5d74c2SJerry Jelinek     const char              *Msg,
2627c478bd9Sstevel@tonic-gate     UINT32                  Level,
2637c478bd9Sstevel@tonic-gate     UINT32                  Component);
2647c478bd9Sstevel@tonic-gate 
2657c478bd9Sstevel@tonic-gate void
2667c478bd9Sstevel@tonic-gate AcpiNsPrintPathname (
2677c478bd9Sstevel@tonic-gate     UINT32                  NumSegments,
268*de5d74c2SJerry Jelinek     const char              *Pathname);
2697c478bd9Sstevel@tonic-gate 
2707c478bd9Sstevel@tonic-gate ACPI_STATUS
2717c478bd9Sstevel@tonic-gate AcpiNsDumpOneObject (
2727c478bd9Sstevel@tonic-gate     ACPI_HANDLE             ObjHandle,
2737c478bd9Sstevel@tonic-gate     UINT32                  Level,
2747c478bd9Sstevel@tonic-gate     void                    *Context,
2757c478bd9Sstevel@tonic-gate     void                    **ReturnValue);
2767c478bd9Sstevel@tonic-gate 
2777c478bd9Sstevel@tonic-gate void
2787c478bd9Sstevel@tonic-gate AcpiNsDumpObjects (
2797c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
2807c478bd9Sstevel@tonic-gate     UINT8                   DisplayType,
2817c478bd9Sstevel@tonic-gate     UINT32                  MaxDepth,
282450d6964Smyers     ACPI_OWNER_ID           OwnerId,
2837c478bd9Sstevel@tonic-gate     ACPI_HANDLE             StartHandle);
2847c478bd9Sstevel@tonic-gate 
285*de5d74c2SJerry Jelinek void
286*de5d74c2SJerry Jelinek AcpiNsDumpObjectPaths (
287*de5d74c2SJerry Jelinek     ACPI_OBJECT_TYPE        Type,
288*de5d74c2SJerry Jelinek     UINT8                   DisplayType,
289*de5d74c2SJerry Jelinek     UINT32                  MaxDepth,
290*de5d74c2SJerry Jelinek     ACPI_OWNER_ID           OwnerId,
291*de5d74c2SJerry Jelinek     ACPI_HANDLE             StartHandle);
292*de5d74c2SJerry Jelinek 
2937c478bd9Sstevel@tonic-gate 
2947c478bd9Sstevel@tonic-gate /*
2957c478bd9Sstevel@tonic-gate  * nseval - Namespace evaluation functions
2967c478bd9Sstevel@tonic-gate  */
2977c478bd9Sstevel@tonic-gate ACPI_STATUS
29827f7c583Smyers AcpiNsEvaluate (
29927f7c583Smyers     ACPI_EVALUATE_INFO      *Info);
3007c478bd9Sstevel@tonic-gate 
30157190917SDana Myers void
30257190917SDana Myers AcpiNsExecModuleCodeList (
30357190917SDana Myers     void);
30457190917SDana Myers 
3057c478bd9Sstevel@tonic-gate 
3067c478bd9Sstevel@tonic-gate /*
307*de5d74c2SJerry Jelinek  * nsarguments - Argument count/type checking for predefined/reserved names
308aa2aa9a6SDana Myers  */
309aa2aa9a6SDana Myers void
310*de5d74c2SJerry Jelinek AcpiNsCheckArgumentCount (
311aa2aa9a6SDana Myers     char                        *Pathname,
312aa2aa9a6SDana Myers     ACPI_NAMESPACE_NODE         *Node,
313aa2aa9a6SDana Myers     UINT32                      UserParamCount,
314aa2aa9a6SDana Myers     const ACPI_PREDEFINED_INFO  *Info);
315aa2aa9a6SDana Myers 
316*de5d74c2SJerry Jelinek void
317*de5d74c2SJerry Jelinek AcpiNsCheckAcpiCompliance (
318*de5d74c2SJerry Jelinek     char                        *Pathname,
319*de5d74c2SJerry Jelinek     ACPI_NAMESPACE_NODE         *Node,
320*de5d74c2SJerry Jelinek     const ACPI_PREDEFINED_INFO  *Predefined);
321*de5d74c2SJerry Jelinek 
322*de5d74c2SJerry Jelinek void
323*de5d74c2SJerry Jelinek AcpiNsCheckArgumentTypes (
324*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO          *Info);
325*de5d74c2SJerry Jelinek 
326*de5d74c2SJerry Jelinek 
327*de5d74c2SJerry Jelinek /*
328*de5d74c2SJerry Jelinek  * nspredef - Return value checking for predefined/reserved names
329*de5d74c2SJerry Jelinek  */
330*de5d74c2SJerry Jelinek ACPI_STATUS
331*de5d74c2SJerry Jelinek AcpiNsCheckReturnValue (
332*de5d74c2SJerry Jelinek     ACPI_NAMESPACE_NODE         *Node,
333*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO          *Info,
334*de5d74c2SJerry Jelinek     UINT32                      UserParamCount,
335*de5d74c2SJerry Jelinek     ACPI_STATUS                 ReturnStatus,
336*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT         **ReturnObject);
337*de5d74c2SJerry Jelinek 
338*de5d74c2SJerry Jelinek ACPI_STATUS
339*de5d74c2SJerry Jelinek AcpiNsCheckObjectType (
340*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO          *Info,
341*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT         **ReturnObjectPtr,
342*de5d74c2SJerry Jelinek     UINT32                      ExpectedBtypes,
343*de5d74c2SJerry Jelinek     UINT32                      PackageIndex);
344*de5d74c2SJerry Jelinek 
345*de5d74c2SJerry Jelinek 
346*de5d74c2SJerry Jelinek /*
347*de5d74c2SJerry Jelinek  * nsprepkg - Validation of predefined name packages
348*de5d74c2SJerry Jelinek  */
349*de5d74c2SJerry Jelinek ACPI_STATUS
350*de5d74c2SJerry Jelinek AcpiNsCheckPackage (
351*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO          *Info,
352*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT         **ReturnObjectPtr);
353*de5d74c2SJerry Jelinek 
354aa2aa9a6SDana Myers 
355aa2aa9a6SDana Myers /*
3567c478bd9Sstevel@tonic-gate  * nsnames - Name and Scope manipulation
3577c478bd9Sstevel@tonic-gate  */
3587c478bd9Sstevel@tonic-gate UINT32
3597c478bd9Sstevel@tonic-gate AcpiNsOpensScope (
3607c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type);
3617c478bd9Sstevel@tonic-gate 
3627c478bd9Sstevel@tonic-gate char *
3637c478bd9Sstevel@tonic-gate AcpiNsGetExternalPathname (
3647c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
3657c478bd9Sstevel@tonic-gate 
366*de5d74c2SJerry Jelinek UINT32
367*de5d74c2SJerry Jelinek AcpiNsBuildNormalizedPath (
368*de5d74c2SJerry Jelinek     ACPI_NAMESPACE_NODE     *Node,
369*de5d74c2SJerry Jelinek     char                    *FullPath,
370*de5d74c2SJerry Jelinek     UINT32                  PathSize,
371*de5d74c2SJerry Jelinek     BOOLEAN                 NoTrailing);
372*de5d74c2SJerry Jelinek 
373*de5d74c2SJerry Jelinek char *
374*de5d74c2SJerry Jelinek AcpiNsGetNormalizedPathname (
375*de5d74c2SJerry Jelinek     ACPI_NAMESPACE_NODE     *Node,
376*de5d74c2SJerry Jelinek     BOOLEAN                 NoTrailing);
377*de5d74c2SJerry Jelinek 
3787c478bd9Sstevel@tonic-gate char *
3797c478bd9Sstevel@tonic-gate AcpiNsNameOfCurrentScope (
3807c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState);
3817c478bd9Sstevel@tonic-gate 
3827c478bd9Sstevel@tonic-gate ACPI_STATUS
3837c478bd9Sstevel@tonic-gate AcpiNsHandleToPathname (
3847c478bd9Sstevel@tonic-gate     ACPI_HANDLE             TargetHandle,
385*de5d74c2SJerry Jelinek     ACPI_BUFFER             *Buffer,
386*de5d74c2SJerry Jelinek     BOOLEAN                 NoTrailing);
3877c478bd9Sstevel@tonic-gate 
3887c478bd9Sstevel@tonic-gate BOOLEAN
3897c478bd9Sstevel@tonic-gate AcpiNsPatternMatch (
3907c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *ObjNode,
3917c478bd9Sstevel@tonic-gate     char                    *SearchFor);
3927c478bd9Sstevel@tonic-gate 
3937c478bd9Sstevel@tonic-gate ACPI_STATUS
39427f7c583Smyers AcpiNsGetNode (
39527f7c583Smyers     ACPI_NAMESPACE_NODE     *PrefixNode,
396db2bae30SDana Myers     const char              *ExternalPathname,
3977c478bd9Sstevel@tonic-gate     UINT32                  Flags,
3987c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     **OutNode);
3997c478bd9Sstevel@tonic-gate 
4007c478bd9Sstevel@tonic-gate ACPI_SIZE
4017c478bd9Sstevel@tonic-gate AcpiNsGetPathnameLength (
4027c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
4037c478bd9Sstevel@tonic-gate 
4047c478bd9Sstevel@tonic-gate 
4057c478bd9Sstevel@tonic-gate /*
4067c478bd9Sstevel@tonic-gate  * nsobject - Object management for namespace nodes
4077c478bd9Sstevel@tonic-gate  */
4087c478bd9Sstevel@tonic-gate ACPI_STATUS
4097c478bd9Sstevel@tonic-gate AcpiNsAttachObject (
4107c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
4117c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *Object,
4127c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type);
4137c478bd9Sstevel@tonic-gate 
4147c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *
4157c478bd9Sstevel@tonic-gate AcpiNsGetAttachedObject (
4167c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
4177c478bd9Sstevel@tonic-gate 
4187c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *
4197c478bd9Sstevel@tonic-gate AcpiNsGetSecondaryObject (
4207c478bd9Sstevel@tonic-gate     ACPI_OPERAND_OBJECT     *ObjDesc);
4217c478bd9Sstevel@tonic-gate 
4227c478bd9Sstevel@tonic-gate ACPI_STATUS
4237c478bd9Sstevel@tonic-gate AcpiNsAttachData (
4247c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
4257c478bd9Sstevel@tonic-gate     ACPI_OBJECT_HANDLER     Handler,
4267c478bd9Sstevel@tonic-gate     void                    *Data);
4277c478bd9Sstevel@tonic-gate 
4287c478bd9Sstevel@tonic-gate ACPI_STATUS
4297c478bd9Sstevel@tonic-gate AcpiNsDetachData (
4307c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
4317c478bd9Sstevel@tonic-gate     ACPI_OBJECT_HANDLER     Handler);
4327c478bd9Sstevel@tonic-gate 
4337c478bd9Sstevel@tonic-gate ACPI_STATUS
4347c478bd9Sstevel@tonic-gate AcpiNsGetAttachedData (
4357c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
4367c478bd9Sstevel@tonic-gate     ACPI_OBJECT_HANDLER     Handler,
4377c478bd9Sstevel@tonic-gate     void                    **Data);
4387c478bd9Sstevel@tonic-gate 
4397c478bd9Sstevel@tonic-gate 
4407c478bd9Sstevel@tonic-gate /*
44157190917SDana Myers  * nsrepair - General return object repair for all
44257190917SDana Myers  * predefined methods/objects
44357190917SDana Myers  */
44457190917SDana Myers ACPI_STATUS
445*de5d74c2SJerry Jelinek AcpiNsSimpleRepair (
446*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO      *Info,
44757190917SDana Myers     UINT32                  ExpectedBtypes,
44857190917SDana Myers     UINT32                  PackageIndex,
44957190917SDana Myers     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
45057190917SDana Myers 
45157190917SDana Myers ACPI_STATUS
452*de5d74c2SJerry Jelinek AcpiNsWrapWithPackage (
453*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO      *Info,
454*de5d74c2SJerry Jelinek     ACPI_OPERAND_OBJECT     *OriginalObject,
45557190917SDana Myers     ACPI_OPERAND_OBJECT     **ObjDescPtr);
45657190917SDana Myers 
45726f3cdf0SGordon Ross ACPI_STATUS
45826f3cdf0SGordon Ross AcpiNsRepairNullElement (
459*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO      *Info,
46026f3cdf0SGordon Ross     UINT32                  ExpectedBtypes,
46126f3cdf0SGordon Ross     UINT32                  PackageIndex,
46226f3cdf0SGordon Ross     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
46326f3cdf0SGordon Ross 
46426f3cdf0SGordon Ross void
46526f3cdf0SGordon Ross AcpiNsRemoveNullElements (
466*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO      *Info,
46726f3cdf0SGordon Ross     UINT8                   PackageType,
46826f3cdf0SGordon Ross     ACPI_OPERAND_OBJECT     *ObjDesc);
46926f3cdf0SGordon Ross 
47057190917SDana Myers 
47157190917SDana Myers /*
47257190917SDana Myers  * nsrepair2 - Return object repair for specific
47357190917SDana Myers  * predefined methods/objects
47457190917SDana Myers  */
47557190917SDana Myers ACPI_STATUS
47657190917SDana Myers AcpiNsComplexRepairs (
477*de5d74c2SJerry Jelinek     ACPI_EVALUATE_INFO      *Info,
47857190917SDana Myers     ACPI_NAMESPACE_NODE     *Node,
47957190917SDana Myers     ACPI_STATUS             ValidateStatus,
48057190917SDana Myers     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
48157190917SDana Myers 
48257190917SDana Myers 
48357190917SDana Myers /*
4847c478bd9Sstevel@tonic-gate  * nssearch - Namespace searching and entry
4857c478bd9Sstevel@tonic-gate  */
4867c478bd9Sstevel@tonic-gate ACPI_STATUS
4877c478bd9Sstevel@tonic-gate AcpiNsSearchAndEnter (
4887c478bd9Sstevel@tonic-gate     UINT32                  EntryName,
4897c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
4907c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
4917c478bd9Sstevel@tonic-gate     ACPI_INTERPRETER_MODE   InterpreterMode,
4927c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
4937c478bd9Sstevel@tonic-gate     UINT32                  Flags,
4947c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     **RetNode);
4957c478bd9Sstevel@tonic-gate 
4967c478bd9Sstevel@tonic-gate ACPI_STATUS
49727f7c583Smyers AcpiNsSearchOneScope (
4987c478bd9Sstevel@tonic-gate     UINT32                  EntryName,
4997c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
5007c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type,
5017c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     **RetNode);
5027c478bd9Sstevel@tonic-gate 
5037c478bd9Sstevel@tonic-gate void
5047c478bd9Sstevel@tonic-gate AcpiNsInstallNode (
5057c478bd9Sstevel@tonic-gate     ACPI_WALK_STATE         *WalkState,
5067c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *ParentNode,
5077c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
5087c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type);
5097c478bd9Sstevel@tonic-gate 
5107c478bd9Sstevel@tonic-gate 
5117c478bd9Sstevel@tonic-gate /*
5127c478bd9Sstevel@tonic-gate  * nsutils - Utility functions
5137c478bd9Sstevel@tonic-gate  */
5147c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE
5157c478bd9Sstevel@tonic-gate AcpiNsGetType (
5167c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node);
5177c478bd9Sstevel@tonic-gate 
5187c478bd9Sstevel@tonic-gate UINT32
5197c478bd9Sstevel@tonic-gate AcpiNsLocal (
5207c478bd9Sstevel@tonic-gate     ACPI_OBJECT_TYPE        Type);
5217c478bd9Sstevel@tonic-gate 
5227c478bd9Sstevel@tonic-gate void
5237c478bd9Sstevel@tonic-gate AcpiNsPrintNodePathname (
5247c478bd9Sstevel@tonic-gate     ACPI_NAMESPACE_NODE     *Node,
525db2bae30SDana Myers     const char              *Msg);
5267c478bd9Sstevel@tonic-gate 
5277c478bd9Sstevel@tonic-gate ACPI_STATUS
5287c478bd9Sstevel@tonic-gate AcpiNsBuildInternalName (
5297c478bd9Sstevel@tonic-gate     ACPI_NAMESTRING_INFO    *Info);
5307c478bd9Sstevel@tonic-gate 
5317c478bd9Sstevel@tonic-gate void
5327c478bd9Sstevel@tonic-gate AcpiNsGetInternalNameLength (
5337c478bd9Sstevel@tonic-gate     ACPI_NAMESTRING_INFO    *Info);
5347c478bd9Sstevel@tonic-gate 
5357c478bd9Sstevel@tonic-gate ACPI_STATUS
5367c478bd9Sstevel@tonic-gate AcpiNsInternalizeName (
537db2bae30SDana Myers     const char              *DottedName,
5387c478bd9Sstevel@tonic-gate     char                    **ConvertedName);
5397c478bd9Sstevel@tonic-gate 
5407c478bd9Sstevel@tonic-gate ACPI_STATUS
5417c478bd9Sstevel@tonic-gate AcpiNsExternalizeName (
5427c478bd9Sstevel@tonic-gate     UINT32                  InternalNameLength,
543db2bae30SDana Myers     const char              *InternalName,
5447c478bd9Sstevel@tonic-gate     UINT32                  *ConvertedNameLength,
5457c478bd9Sstevel@tonic-gate     char                    **ConvertedName);
5467c478bd9Sstevel@tonic-gate 
5477c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *
54826f3cdf0SGordon Ross AcpiNsValidateHandle (
5497c478bd9Sstevel@tonic-gate     ACPI_HANDLE             Handle);
5507c478bd9Sstevel@tonic-gate 
5517c478bd9Sstevel@tonic-gate void
5527c478bd9Sstevel@tonic-gate AcpiNsTerminate (
5537c478bd9Sstevel@tonic-gate     void);
5547c478bd9Sstevel@tonic-gate 
5557c478bd9Sstevel@tonic-gate #endif /* __ACNAMESP_H__ */
556