Home | History | Annotate | Line # | Download | only in include
acnamesp.h revision 1.21.6.1
      1       1.1    jruoho /******************************************************************************
      2       1.1    jruoho  *
      3       1.1    jruoho  * Name: acnamesp.h - Namespace subcomponent prototypes and defines
      4       1.1    jruoho  *
      5       1.1    jruoho  *****************************************************************************/
      6       1.1    jruoho 
      7  1.21.6.1  perseant /******************************************************************************
      8  1.21.6.1  perseant  *
      9  1.21.6.1  perseant  * 1. Copyright Notice
     10  1.21.6.1  perseant  *
     11  1.21.6.1  perseant  * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp.
     12       1.1    jruoho  * All rights reserved.
     13       1.1    jruoho  *
     14  1.21.6.1  perseant  * 2. License
     15  1.21.6.1  perseant  *
     16  1.21.6.1  perseant  * 2.1. This is your license from Intel Corp. under its intellectual property
     17  1.21.6.1  perseant  * rights. You may have additional license terms from the party that provided
     18  1.21.6.1  perseant  * you this software, covering your right to use that party's intellectual
     19  1.21.6.1  perseant  * property rights.
     20  1.21.6.1  perseant  *
     21  1.21.6.1  perseant  * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
     22  1.21.6.1  perseant  * copy of the source code appearing in this file ("Covered Code") an
     23  1.21.6.1  perseant  * irrevocable, perpetual, worldwide license under Intel's copyrights in the
     24  1.21.6.1  perseant  * base code distributed originally by Intel ("Original Intel Code") to copy,
     25  1.21.6.1  perseant  * make derivatives, distribute, use and display any portion of the Covered
     26  1.21.6.1  perseant  * Code in any form, with the right to sublicense such rights; and
     27  1.21.6.1  perseant  *
     28  1.21.6.1  perseant  * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
     29  1.21.6.1  perseant  * license (with the right to sublicense), under only those claims of Intel
     30  1.21.6.1  perseant  * patents that are infringed by the Original Intel Code, to make, use, sell,
     31  1.21.6.1  perseant  * offer to sell, and import the Covered Code and derivative works thereof
     32  1.21.6.1  perseant  * solely to the minimum extent necessary to exercise the above copyright
     33  1.21.6.1  perseant  * license, and in no event shall the patent license extend to any additions
     34  1.21.6.1  perseant  * to or modifications of the Original Intel Code. No other license or right
     35  1.21.6.1  perseant  * is granted directly or by implication, estoppel or otherwise;
     36  1.21.6.1  perseant  *
     37  1.21.6.1  perseant  * The above copyright and patent license is granted only if the following
     38  1.21.6.1  perseant  * conditions are met:
     39  1.21.6.1  perseant  *
     40  1.21.6.1  perseant  * 3. Conditions
     41  1.21.6.1  perseant  *
     42  1.21.6.1  perseant  * 3.1. Redistribution of Source with Rights to Further Distribute Source.
     43  1.21.6.1  perseant  * Redistribution of source code of any substantial portion of the Covered
     44  1.21.6.1  perseant  * Code or modification with rights to further distribute source must include
     45  1.21.6.1  perseant  * the above Copyright Notice, the above License, this list of Conditions,
     46  1.21.6.1  perseant  * and the following Disclaimer and Export Compliance provision. In addition,
     47  1.21.6.1  perseant  * Licensee must cause all Covered Code to which Licensee contributes to
     48  1.21.6.1  perseant  * contain a file documenting the changes Licensee made to create that Covered
     49  1.21.6.1  perseant  * Code and the date of any change. Licensee must include in that file the
     50  1.21.6.1  perseant  * documentation of any changes made by any predecessor Licensee. Licensee
     51  1.21.6.1  perseant  * must include a prominent statement that the modification is derived,
     52  1.21.6.1  perseant  * directly or indirectly, from Original Intel Code.
     53  1.21.6.1  perseant  *
     54  1.21.6.1  perseant  * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
     55  1.21.6.1  perseant  * Redistribution of source code of any substantial portion of the Covered
     56  1.21.6.1  perseant  * Code or modification without rights to further distribute source must
     57  1.21.6.1  perseant  * include the following Disclaimer and Export Compliance provision in the
     58  1.21.6.1  perseant  * documentation and/or other materials provided with distribution. In
     59  1.21.6.1  perseant  * addition, Licensee may not authorize further sublicense of source of any
     60  1.21.6.1  perseant  * portion of the Covered Code, and must include terms to the effect that the
     61  1.21.6.1  perseant  * license from Licensee to its licensee is limited to the intellectual
     62  1.21.6.1  perseant  * property embodied in the software Licensee provides to its licensee, and
     63  1.21.6.1  perseant  * not to intellectual property embodied in modifications its licensee may
     64  1.21.6.1  perseant  * make.
     65  1.21.6.1  perseant  *
     66  1.21.6.1  perseant  * 3.3. Redistribution of Executable. Redistribution in executable form of any
     67  1.21.6.1  perseant  * substantial portion of the Covered Code or modification must reproduce the
     68  1.21.6.1  perseant  * above Copyright Notice, and the following Disclaimer and Export Compliance
     69  1.21.6.1  perseant  * provision in the documentation and/or other materials provided with the
     70  1.21.6.1  perseant  * distribution.
     71  1.21.6.1  perseant  *
     72  1.21.6.1  perseant  * 3.4. Intel retains all right, title, and interest in and to the Original
     73  1.21.6.1  perseant  * Intel Code.
     74  1.21.6.1  perseant  *
     75  1.21.6.1  perseant  * 3.5. Neither the name Intel nor any other trademark owned or controlled by
     76  1.21.6.1  perseant  * Intel shall be used in advertising or otherwise to promote the sale, use or
     77  1.21.6.1  perseant  * other dealings in products derived from or relating to the Covered Code
     78  1.21.6.1  perseant  * without prior written authorization from Intel.
     79  1.21.6.1  perseant  *
     80  1.21.6.1  perseant  * 4. Disclaimer and Export Compliance
     81  1.21.6.1  perseant  *
     82  1.21.6.1  perseant  * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
     83  1.21.6.1  perseant  * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
     84  1.21.6.1  perseant  * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
     85  1.21.6.1  perseant  * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
     86  1.21.6.1  perseant  * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
     87  1.21.6.1  perseant  * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
     88  1.21.6.1  perseant  * PARTICULAR PURPOSE.
     89  1.21.6.1  perseant  *
     90  1.21.6.1  perseant  * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
     91  1.21.6.1  perseant  * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
     92  1.21.6.1  perseant  * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
     93  1.21.6.1  perseant  * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
     94  1.21.6.1  perseant  * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
     95  1.21.6.1  perseant  * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
     96  1.21.6.1  perseant  * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
     97  1.21.6.1  perseant  * LIMITED REMEDY.
     98  1.21.6.1  perseant  *
     99  1.21.6.1  perseant  * 4.3. Licensee shall not export, either directly or indirectly, any of this
    100  1.21.6.1  perseant  * software or system incorporating such software without first obtaining any
    101  1.21.6.1  perseant  * required license or other approval from the U. S. Department of Commerce or
    102  1.21.6.1  perseant  * any other agency or department of the United States Government. In the
    103  1.21.6.1  perseant  * event Licensee exports any such software from the United States or
    104  1.21.6.1  perseant  * re-exports any such software from a foreign destination, Licensee shall
    105  1.21.6.1  perseant  * ensure that the distribution and export/re-export of the software is in
    106  1.21.6.1  perseant  * compliance with all laws, regulations, orders, or other restrictions of the
    107  1.21.6.1  perseant  * U.S. Export Administration Regulations. Licensee agrees that neither it nor
    108  1.21.6.1  perseant  * any of its subsidiaries will export/re-export any technical data, process,
    109  1.21.6.1  perseant  * software, or service, directly or indirectly, to any country for which the
    110  1.21.6.1  perseant  * United States government or any agency thereof requires an export license,
    111  1.21.6.1  perseant  * other governmental approval, or letter of assurance, without first obtaining
    112  1.21.6.1  perseant  * such license, approval or letter.
    113  1.21.6.1  perseant  *
    114  1.21.6.1  perseant  *****************************************************************************
    115  1.21.6.1  perseant  *
    116  1.21.6.1  perseant  * Alternatively, you may choose to be licensed under the terms of the
    117  1.21.6.1  perseant  * following license:
    118  1.21.6.1  perseant  *
    119       1.3    jruoho  * Redistribution and use in source and binary forms, with or without
    120       1.3    jruoho  * modification, are permitted provided that the following conditions
    121       1.3    jruoho  * are met:
    122       1.3    jruoho  * 1. Redistributions of source code must retain the above copyright
    123       1.3    jruoho  *    notice, this list of conditions, and the following disclaimer,
    124       1.3    jruoho  *    without modification.
    125       1.3    jruoho  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
    126       1.3    jruoho  *    substantially similar to the "NO WARRANTY" disclaimer below
    127       1.3    jruoho  *    ("Disclaimer") and any redistribution must be conditioned upon
    128       1.3    jruoho  *    including a substantially similar Disclaimer requirement for further
    129       1.3    jruoho  *    binary redistribution.
    130       1.3    jruoho  * 3. Neither the names of the above-listed copyright holders nor the names
    131       1.3    jruoho  *    of any contributors may be used to endorse or promote products derived
    132       1.3    jruoho  *    from this software without specific prior written permission.
    133       1.3    jruoho  *
    134       1.3    jruoho  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    135       1.3    jruoho  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    136      1.19  christos  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    137       1.3    jruoho  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    138  1.21.6.1  perseant  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    139  1.21.6.1  perseant  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    140  1.21.6.1  perseant  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    141  1.21.6.1  perseant  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    142  1.21.6.1  perseant  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    143  1.21.6.1  perseant  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    144  1.21.6.1  perseant  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    145  1.21.6.1  perseant  *
    146  1.21.6.1  perseant  * Alternatively, you may choose to be licensed under the terms of the
    147  1.21.6.1  perseant  * GNU General Public License ("GPL") version 2 as published by the Free
    148  1.21.6.1  perseant  * Software Foundation.
    149  1.21.6.1  perseant  *
    150  1.21.6.1  perseant  *****************************************************************************/
    151       1.1    jruoho 
    152       1.1    jruoho #ifndef __ACNAMESP_H__
    153       1.1    jruoho #define __ACNAMESP_H__
    154       1.1    jruoho 
    155       1.1    jruoho 
    156       1.1    jruoho /* To search the entire name space, pass this as SearchBase */
    157       1.1    jruoho 
    158       1.1    jruoho #define ACPI_NS_ALL                 ((ACPI_HANDLE)0)
    159       1.1    jruoho 
    160       1.1    jruoho /*
    161       1.1    jruoho  * Elements of AcpiNsProperties are bit significant
    162       1.1    jruoho  * and should be one-to-one with values of ACPI_OBJECT_TYPE
    163       1.1    jruoho  */
    164       1.1    jruoho #define ACPI_NS_NORMAL              0
    165       1.1    jruoho #define ACPI_NS_NEWSCOPE            1   /* a definition of this type opens a name scope */
    166       1.1    jruoho #define ACPI_NS_LOCAL               2   /* suppress search of enclosing scopes */
    167       1.1    jruoho 
    168       1.1    jruoho /* Flags for AcpiNsLookup, AcpiNsSearchAndEnter */
    169       1.1    jruoho 
    170       1.1    jruoho #define ACPI_NS_NO_UPSEARCH         0
    171      1.14  christos #define ACPI_NS_SEARCH_PARENT       0x0001
    172      1.14  christos #define ACPI_NS_DONT_OPEN_SCOPE     0x0002
    173      1.14  christos #define ACPI_NS_NO_PEER_SEARCH      0x0004
    174      1.14  christos #define ACPI_NS_ERROR_IF_FOUND      0x0008
    175      1.14  christos #define ACPI_NS_PREFIX_IS_SCOPE     0x0010
    176      1.14  christos #define ACPI_NS_EXTERNAL            0x0020
    177      1.14  christos #define ACPI_NS_TEMPORARY           0x0040
    178      1.14  christos #define ACPI_NS_OVERRIDE_IF_FOUND   0x0080
    179      1.14  christos #define ACPI_NS_EARLY_INIT          0x0100
    180      1.15  christos #define ACPI_NS_PREFIX_MUST_EXIST   0x0200
    181       1.1    jruoho 
    182       1.1    jruoho /* Flags for AcpiNsWalkNamespace */
    183       1.1    jruoho 
    184       1.1    jruoho #define ACPI_NS_WALK_NO_UNLOCK      0
    185       1.1    jruoho #define ACPI_NS_WALK_UNLOCK         0x01
    186       1.1    jruoho #define ACPI_NS_WALK_TEMP_NODES     0x02
    187       1.1    jruoho 
    188       1.1    jruoho /* Object is not a package element */
    189       1.1    jruoho 
    190       1.1    jruoho #define ACPI_NOT_PACKAGE_ELEMENT    ACPI_UINT32_MAX
    191       1.8  christos #define ACPI_ALL_PACKAGE_ELEMENTS   (ACPI_UINT32_MAX-1)
    192       1.1    jruoho 
    193       1.1    jruoho /* Always emit warning message, not dependent on node flags */
    194       1.1    jruoho 
    195       1.1    jruoho #define ACPI_WARN_ALWAYS            0
    196       1.1    jruoho 
    197       1.1    jruoho 
    198       1.1    jruoho /*
    199       1.1    jruoho  * nsinit - Namespace initialization
    200       1.1    jruoho  */
    201       1.1    jruoho ACPI_STATUS
    202       1.1    jruoho AcpiNsInitializeObjects (
    203       1.1    jruoho     void);
    204       1.1    jruoho 
    205       1.1    jruoho ACPI_STATUS
    206       1.1    jruoho AcpiNsInitializeDevices (
    207       1.9  christos     UINT32                  Flags);
    208       1.1    jruoho 
    209      1.14  christos ACPI_STATUS
    210      1.14  christos AcpiNsInitOnePackage (
    211      1.14  christos     ACPI_HANDLE             ObjHandle,
    212      1.14  christos     UINT32                  Level,
    213      1.14  christos     void                    *Context,
    214      1.14  christos     void                    **ReturnValue);
    215       1.1    jruoho 
    216       1.1    jruoho /*
    217       1.1    jruoho  * nsload -  Namespace loading
    218       1.1    jruoho  */
    219       1.1    jruoho ACPI_STATUS
    220       1.1    jruoho AcpiNsLoadNamespace (
    221       1.1    jruoho     void);
    222       1.1    jruoho 
    223       1.1    jruoho ACPI_STATUS
    224       1.1    jruoho AcpiNsLoadTable (
    225       1.1    jruoho     UINT32                  TableIndex,
    226       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node);
    227       1.1    jruoho 
    228       1.1    jruoho 
    229       1.1    jruoho /*
    230       1.1    jruoho  * nswalk - walk the namespace
    231       1.1    jruoho  */
    232       1.1    jruoho ACPI_STATUS
    233       1.1    jruoho AcpiNsWalkNamespace (
    234       1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    235       1.1    jruoho     ACPI_HANDLE             StartObject,
    236       1.1    jruoho     UINT32                  MaxDepth,
    237       1.1    jruoho     UINT32                  Flags,
    238       1.4  christos     ACPI_WALK_CALLBACK      DescendingCallback,
    239       1.4  christos     ACPI_WALK_CALLBACK      AscendingCallback,
    240       1.1    jruoho     void                    *Context,
    241       1.1    jruoho     void                    **ReturnValue);
    242       1.1    jruoho 
    243       1.1    jruoho ACPI_NAMESPACE_NODE *
    244       1.1    jruoho AcpiNsGetNextNode (
    245       1.1    jruoho     ACPI_NAMESPACE_NODE     *Parent,
    246       1.1    jruoho     ACPI_NAMESPACE_NODE     *Child);
    247       1.1    jruoho 
    248       1.1    jruoho ACPI_NAMESPACE_NODE *
    249       1.1    jruoho AcpiNsGetNextNodeTyped (
    250       1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    251       1.1    jruoho     ACPI_NAMESPACE_NODE     *Parent,
    252       1.1    jruoho     ACPI_NAMESPACE_NODE     *Child);
    253       1.1    jruoho 
    254       1.1    jruoho /*
    255       1.1    jruoho  * nsparse - table parsing
    256       1.1    jruoho  */
    257       1.1    jruoho ACPI_STATUS
    258       1.1    jruoho AcpiNsParseTable (
    259       1.1    jruoho     UINT32                  TableIndex,
    260       1.1    jruoho     ACPI_NAMESPACE_NODE     *StartNode);
    261       1.1    jruoho 
    262       1.1    jruoho ACPI_STATUS
    263      1.10  christos AcpiNsExecuteTable (
    264      1.10  christos     UINT32                  TableIndex,
    265      1.10  christos     ACPI_NAMESPACE_NODE     *StartNode);
    266      1.10  christos 
    267      1.10  christos ACPI_STATUS
    268       1.1    jruoho AcpiNsOneCompleteParse (
    269       1.1    jruoho     UINT32                  PassNumber,
    270       1.1    jruoho     UINT32                  TableIndex,
    271       1.1    jruoho     ACPI_NAMESPACE_NODE     *StartNode);
    272       1.1    jruoho 
    273       1.1    jruoho 
    274       1.1    jruoho /*
    275       1.1    jruoho  * nsaccess - Top-level namespace access
    276       1.1    jruoho  */
    277       1.1    jruoho ACPI_STATUS
    278       1.1    jruoho AcpiNsRootInitialize (
    279       1.1    jruoho     void);
    280       1.1    jruoho 
    281       1.1    jruoho ACPI_STATUS
    282       1.1    jruoho AcpiNsLookup (
    283       1.1    jruoho     ACPI_GENERIC_STATE      *ScopeInfo,
    284       1.1    jruoho     char                    *Name,
    285       1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    286       1.1    jruoho     ACPI_INTERPRETER_MODE   InterpreterMode,
    287       1.1    jruoho     UINT32                  Flags,
    288       1.1    jruoho     ACPI_WALK_STATE         *WalkState,
    289       1.1    jruoho     ACPI_NAMESPACE_NODE     **RetNode);
    290       1.1    jruoho 
    291       1.1    jruoho 
    292       1.1    jruoho /*
    293       1.1    jruoho  * nsalloc - Named object allocation/deallocation
    294       1.1    jruoho  */
    295       1.1    jruoho ACPI_NAMESPACE_NODE *
    296       1.1    jruoho AcpiNsCreateNode (
    297       1.1    jruoho     UINT32                  Name);
    298       1.1    jruoho 
    299       1.1    jruoho void
    300       1.1    jruoho AcpiNsDeleteNode (
    301       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node);
    302       1.1    jruoho 
    303       1.1    jruoho void
    304       1.1    jruoho AcpiNsRemoveNode (
    305       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node);
    306       1.1    jruoho 
    307       1.1    jruoho void
    308       1.1    jruoho AcpiNsDeleteNamespaceSubtree (
    309       1.1    jruoho     ACPI_NAMESPACE_NODE     *ParentHandle);
    310       1.1    jruoho 
    311       1.1    jruoho void
    312       1.1    jruoho AcpiNsDeleteNamespaceByOwner (
    313       1.1    jruoho     ACPI_OWNER_ID           OwnerId);
    314       1.1    jruoho 
    315       1.1    jruoho void
    316       1.1    jruoho AcpiNsDetachObject (
    317       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node);
    318       1.1    jruoho 
    319       1.1    jruoho void
    320       1.1    jruoho AcpiNsDeleteChildren (
    321       1.1    jruoho     ACPI_NAMESPACE_NODE     *Parent);
    322       1.1    jruoho 
    323       1.1    jruoho int
    324       1.1    jruoho AcpiNsCompareNames (
    325       1.1    jruoho     char                    *Name1,
    326       1.1    jruoho     char                    *Name2);
    327       1.1    jruoho 
    328       1.1    jruoho 
    329       1.1    jruoho /*
    330       1.4  christos  * nsconvert - Dynamic object conversion routines
    331       1.4  christos  */
    332       1.4  christos ACPI_STATUS
    333       1.4  christos AcpiNsConvertToInteger (
    334       1.4  christos     ACPI_OPERAND_OBJECT     *OriginalObject,
    335       1.4  christos     ACPI_OPERAND_OBJECT     **ReturnObject);
    336       1.4  christos 
    337       1.4  christos ACPI_STATUS
    338       1.4  christos AcpiNsConvertToString (
    339       1.4  christos     ACPI_OPERAND_OBJECT     *OriginalObject,
    340       1.4  christos     ACPI_OPERAND_OBJECT     **ReturnObject);
    341       1.4  christos 
    342       1.4  christos ACPI_STATUS
    343       1.4  christos AcpiNsConvertToBuffer (
    344       1.4  christos     ACPI_OPERAND_OBJECT     *OriginalObject,
    345       1.4  christos     ACPI_OPERAND_OBJECT     **ReturnObject);
    346       1.4  christos 
    347       1.4  christos ACPI_STATUS
    348       1.4  christos AcpiNsConvertToUnicode (
    349       1.8  christos     ACPI_NAMESPACE_NODE     *Scope,
    350       1.4  christos     ACPI_OPERAND_OBJECT     *OriginalObject,
    351       1.4  christos     ACPI_OPERAND_OBJECT     **ReturnObject);
    352       1.4  christos 
    353       1.4  christos ACPI_STATUS
    354       1.4  christos AcpiNsConvertToResource (
    355       1.8  christos     ACPI_NAMESPACE_NODE     *Scope,
    356       1.8  christos     ACPI_OPERAND_OBJECT     *OriginalObject,
    357       1.8  christos     ACPI_OPERAND_OBJECT     **ReturnObject);
    358       1.8  christos 
    359       1.8  christos ACPI_STATUS
    360       1.8  christos AcpiNsConvertToReference (
    361       1.8  christos     ACPI_NAMESPACE_NODE     *Scope,
    362       1.4  christos     ACPI_OPERAND_OBJECT     *OriginalObject,
    363       1.4  christos     ACPI_OPERAND_OBJECT     **ReturnObject);
    364       1.4  christos 
    365       1.4  christos 
    366       1.4  christos /*
    367       1.1    jruoho  * nsdump - Namespace dump/print utilities
    368       1.1    jruoho  */
    369       1.1    jruoho void
    370       1.1    jruoho AcpiNsDumpTables (
    371       1.1    jruoho     ACPI_HANDLE             SearchBase,
    372       1.1    jruoho     UINT32                  MaxDepth);
    373       1.1    jruoho 
    374       1.1    jruoho void
    375       1.1    jruoho AcpiNsDumpEntry (
    376       1.1    jruoho     ACPI_HANDLE             Handle,
    377       1.1    jruoho     UINT32                  DebugLevel);
    378       1.1    jruoho 
    379       1.1    jruoho void
    380       1.1    jruoho AcpiNsDumpPathname (
    381       1.1    jruoho     ACPI_HANDLE             Handle,
    382       1.2    jruoho     const char              *Msg,
    383       1.1    jruoho     UINT32                  Level,
    384       1.1    jruoho     UINT32                  Component);
    385       1.1    jruoho 
    386       1.1    jruoho void
    387       1.1    jruoho AcpiNsPrintPathname (
    388       1.1    jruoho     UINT32                  NumSegments,
    389       1.9  christos     const char              *Pathname);
    390       1.1    jruoho 
    391       1.1    jruoho ACPI_STATUS
    392       1.1    jruoho AcpiNsDumpOneObject (
    393       1.1    jruoho     ACPI_HANDLE             ObjHandle,
    394       1.1    jruoho     UINT32                  Level,
    395       1.1    jruoho     void                    *Context,
    396       1.1    jruoho     void                    **ReturnValue);
    397       1.1    jruoho 
    398       1.1    jruoho void
    399       1.1    jruoho AcpiNsDumpObjects (
    400       1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    401       1.1    jruoho     UINT8                   DisplayType,
    402       1.1    jruoho     UINT32                  MaxDepth,
    403       1.1    jruoho     ACPI_OWNER_ID           OwnerId,
    404       1.1    jruoho     ACPI_HANDLE             StartHandle);
    405       1.1    jruoho 
    406       1.4  christos void
    407       1.4  christos AcpiNsDumpObjectPaths (
    408       1.4  christos     ACPI_OBJECT_TYPE        Type,
    409       1.4  christos     UINT8                   DisplayType,
    410       1.4  christos     UINT32                  MaxDepth,
    411       1.4  christos     ACPI_OWNER_ID           OwnerId,
    412       1.4  christos     ACPI_HANDLE             StartHandle);
    413       1.4  christos 
    414       1.1    jruoho 
    415       1.1    jruoho /*
    416       1.1    jruoho  * nseval - Namespace evaluation functions
    417       1.1    jruoho  */
    418       1.1    jruoho ACPI_STATUS
    419       1.1    jruoho AcpiNsEvaluate (
    420       1.1    jruoho     ACPI_EVALUATE_INFO      *Info);
    421       1.1    jruoho 
    422       1.1    jruoho 
    423       1.1    jruoho /*
    424       1.4  christos  * nsarguments - Argument count/type checking for predefined/reserved names
    425       1.1    jruoho  */
    426       1.4  christos void
    427       1.4  christos AcpiNsCheckArgumentCount (
    428       1.4  christos     char                        *Pathname,
    429       1.4  christos     ACPI_NAMESPACE_NODE         *Node,
    430       1.4  christos     UINT32                      UserParamCount,
    431       1.4  christos     const ACPI_PREDEFINED_INFO  *Info);
    432       1.1    jruoho 
    433       1.4  christos void
    434       1.4  christos AcpiNsCheckAcpiCompliance (
    435       1.4  christos     char                        *Pathname,
    436       1.4  christos     ACPI_NAMESPACE_NODE         *Node,
    437       1.4  christos     const ACPI_PREDEFINED_INFO  *Predefined);
    438       1.1    jruoho 
    439       1.1    jruoho void
    440       1.4  christos AcpiNsCheckArgumentTypes (
    441       1.4  christos     ACPI_EVALUATE_INFO          *Info);
    442       1.4  christos 
    443       1.4  christos 
    444       1.4  christos /*
    445       1.4  christos  * nspredef - Return value checking for predefined/reserved names
    446       1.4  christos  */
    447       1.4  christos ACPI_STATUS
    448       1.4  christos AcpiNsCheckReturnValue (
    449       1.1    jruoho     ACPI_NAMESPACE_NODE         *Node,
    450       1.4  christos     ACPI_EVALUATE_INFO          *Info,
    451       1.1    jruoho     UINT32                      UserParamCount,
    452       1.4  christos     ACPI_STATUS                 ReturnStatus,
    453       1.4  christos     ACPI_OPERAND_OBJECT         **ReturnObject);
    454       1.4  christos 
    455       1.4  christos ACPI_STATUS
    456       1.4  christos AcpiNsCheckObjectType (
    457       1.4  christos     ACPI_EVALUATE_INFO          *Info,
    458       1.4  christos     ACPI_OPERAND_OBJECT         **ReturnObjectPtr,
    459       1.4  christos     UINT32                      ExpectedBtypes,
    460       1.4  christos     UINT32                      PackageIndex);
    461       1.4  christos 
    462       1.4  christos 
    463       1.4  christos /*
    464       1.4  christos  * nsprepkg - Validation of predefined name packages
    465       1.4  christos  */
    466       1.4  christos ACPI_STATUS
    467       1.4  christos AcpiNsCheckPackage (
    468       1.4  christos     ACPI_EVALUATE_INFO          *Info,
    469       1.4  christos     ACPI_OPERAND_OBJECT         **ReturnObjectPtr);
    470       1.1    jruoho 
    471       1.1    jruoho 
    472       1.1    jruoho /*
    473       1.1    jruoho  * nsnames - Name and Scope manipulation
    474       1.1    jruoho  */
    475       1.1    jruoho UINT32
    476       1.1    jruoho AcpiNsOpensScope (
    477       1.1    jruoho     ACPI_OBJECT_TYPE        Type);
    478       1.1    jruoho 
    479       1.7  christos char *
    480       1.7  christos AcpiNsGetExternalPathname (
    481       1.7  christos     ACPI_NAMESPACE_NODE     *Node);
    482       1.7  christos 
    483       1.7  christos UINT32
    484       1.7  christos AcpiNsBuildNormalizedPath (
    485       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    486       1.7  christos     char                    *FullPath,
    487       1.7  christos     UINT32                  PathSize,
    488       1.7  christos     BOOLEAN                 NoTrailing);
    489       1.1    jruoho 
    490      1.18  christos void
    491      1.18  christos AcpiNsNormalizePathname (
    492      1.18  christos     char                    *OriginalPath);
    493      1.18  christos 
    494       1.1    jruoho char *
    495       1.7  christos AcpiNsGetNormalizedPathname (
    496       1.7  christos     ACPI_NAMESPACE_NODE     *Node,
    497       1.7  christos     BOOLEAN                 NoTrailing);
    498       1.1    jruoho 
    499       1.1    jruoho char *
    500      1.12  christos AcpiNsBuildPrefixedPathname (
    501      1.12  christos     ACPI_GENERIC_STATE      *PrefixScope,
    502      1.12  christos     const char              *InternalPath);
    503      1.12  christos 
    504      1.12  christos char *
    505       1.1    jruoho AcpiNsNameOfCurrentScope (
    506       1.1    jruoho     ACPI_WALK_STATE         *WalkState);
    507       1.1    jruoho 
    508       1.1    jruoho ACPI_STATUS
    509      1.11  christos AcpiNsHandleToName (
    510      1.11  christos     ACPI_HANDLE             TargetHandle,
    511      1.11  christos     ACPI_BUFFER             *Buffer);
    512      1.11  christos 
    513      1.11  christos ACPI_STATUS
    514       1.1    jruoho AcpiNsHandleToPathname (
    515       1.1    jruoho     ACPI_HANDLE             TargetHandle,
    516       1.7  christos     ACPI_BUFFER             *Buffer,
    517       1.7  christos     BOOLEAN                 NoTrailing);
    518       1.1    jruoho 
    519       1.1    jruoho BOOLEAN
    520       1.1    jruoho AcpiNsPatternMatch (
    521       1.1    jruoho     ACPI_NAMESPACE_NODE     *ObjNode,
    522       1.1    jruoho     char                    *SearchFor);
    523       1.1    jruoho 
    524       1.1    jruoho ACPI_STATUS
    525      1.10  christos AcpiNsGetNodeUnlocked (
    526      1.10  christos     ACPI_NAMESPACE_NODE     *PrefixNode,
    527      1.10  christos     const char              *ExternalPathname,
    528      1.10  christos     UINT32                  Flags,
    529      1.10  christos     ACPI_NAMESPACE_NODE     **OutNode);
    530      1.10  christos 
    531      1.10  christos ACPI_STATUS
    532       1.1    jruoho AcpiNsGetNode (
    533       1.1    jruoho     ACPI_NAMESPACE_NODE     *PrefixNode,
    534       1.1    jruoho     const char              *ExternalPathname,
    535       1.1    jruoho     UINT32                  Flags,
    536       1.1    jruoho     ACPI_NAMESPACE_NODE     **OutNode);
    537       1.1    jruoho 
    538       1.1    jruoho ACPI_SIZE
    539       1.1    jruoho AcpiNsGetPathnameLength (
    540       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node);
    541       1.1    jruoho 
    542       1.1    jruoho 
    543       1.1    jruoho /*
    544       1.1    jruoho  * nsobject - Object management for namespace nodes
    545       1.1    jruoho  */
    546       1.1    jruoho ACPI_STATUS
    547       1.1    jruoho AcpiNsAttachObject (
    548       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    549       1.1    jruoho     ACPI_OPERAND_OBJECT     *Object,
    550       1.1    jruoho     ACPI_OBJECT_TYPE        Type);
    551       1.1    jruoho 
    552       1.1    jruoho ACPI_OPERAND_OBJECT *
    553       1.1    jruoho AcpiNsGetAttachedObject (
    554       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node);
    555       1.1    jruoho 
    556       1.1    jruoho ACPI_OPERAND_OBJECT *
    557       1.1    jruoho AcpiNsGetSecondaryObject (
    558       1.1    jruoho     ACPI_OPERAND_OBJECT     *ObjDesc);
    559       1.1    jruoho 
    560       1.1    jruoho ACPI_STATUS
    561       1.1    jruoho AcpiNsAttachData (
    562       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    563       1.1    jruoho     ACPI_OBJECT_HANDLER     Handler,
    564       1.1    jruoho     void                    *Data);
    565       1.1    jruoho 
    566       1.1    jruoho ACPI_STATUS
    567       1.1    jruoho AcpiNsDetachData (
    568       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    569       1.1    jruoho     ACPI_OBJECT_HANDLER     Handler);
    570       1.1    jruoho 
    571       1.1    jruoho ACPI_STATUS
    572       1.1    jruoho AcpiNsGetAttachedData (
    573       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    574       1.1    jruoho     ACPI_OBJECT_HANDLER     Handler,
    575       1.1    jruoho     void                    **Data);
    576       1.1    jruoho 
    577       1.1    jruoho 
    578       1.1    jruoho /*
    579       1.1    jruoho  * nsrepair - General return object repair for all
    580       1.1    jruoho  * predefined methods/objects
    581       1.1    jruoho  */
    582       1.1    jruoho ACPI_STATUS
    583       1.4  christos AcpiNsSimpleRepair (
    584       1.4  christos     ACPI_EVALUATE_INFO      *Info,
    585       1.1    jruoho     UINT32                  ExpectedBtypes,
    586       1.1    jruoho     UINT32                  PackageIndex,
    587       1.1    jruoho     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
    588       1.1    jruoho 
    589       1.1    jruoho ACPI_STATUS
    590       1.4  christos AcpiNsWrapWithPackage (
    591       1.4  christos     ACPI_EVALUATE_INFO      *Info,
    592       1.4  christos     ACPI_OPERAND_OBJECT     *OriginalObject,
    593       1.1    jruoho     ACPI_OPERAND_OBJECT     **ObjDescPtr);
    594       1.1    jruoho 
    595       1.1    jruoho ACPI_STATUS
    596       1.1    jruoho AcpiNsRepairNullElement (
    597       1.4  christos     ACPI_EVALUATE_INFO      *Info,
    598       1.1    jruoho     UINT32                  ExpectedBtypes,
    599       1.1    jruoho     UINT32                  PackageIndex,
    600       1.1    jruoho     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
    601       1.1    jruoho 
    602       1.1    jruoho void
    603       1.1    jruoho AcpiNsRemoveNullElements (
    604       1.4  christos     ACPI_EVALUATE_INFO      *Info,
    605       1.1    jruoho     UINT8                   PackageType,
    606       1.1    jruoho     ACPI_OPERAND_OBJECT     *ObjDesc);
    607       1.1    jruoho 
    608       1.1    jruoho 
    609       1.1    jruoho /*
    610       1.1    jruoho  * nsrepair2 - Return object repair for specific
    611       1.1    jruoho  * predefined methods/objects
    612       1.1    jruoho  */
    613       1.1    jruoho ACPI_STATUS
    614       1.1    jruoho AcpiNsComplexRepairs (
    615       1.4  christos     ACPI_EVALUATE_INFO      *Info,
    616       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    617       1.1    jruoho     ACPI_STATUS             ValidateStatus,
    618       1.1    jruoho     ACPI_OPERAND_OBJECT     **ReturnObjectPtr);
    619       1.1    jruoho 
    620       1.1    jruoho 
    621       1.1    jruoho /*
    622       1.1    jruoho  * nssearch - Namespace searching and entry
    623       1.1    jruoho  */
    624       1.1    jruoho ACPI_STATUS
    625       1.1    jruoho AcpiNsSearchAndEnter (
    626       1.1    jruoho     UINT32                  EntryName,
    627       1.1    jruoho     ACPI_WALK_STATE         *WalkState,
    628       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    629       1.1    jruoho     ACPI_INTERPRETER_MODE   InterpreterMode,
    630       1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    631       1.1    jruoho     UINT32                  Flags,
    632       1.1    jruoho     ACPI_NAMESPACE_NODE     **RetNode);
    633       1.1    jruoho 
    634       1.1    jruoho ACPI_STATUS
    635       1.1    jruoho AcpiNsSearchOneScope (
    636       1.1    jruoho     UINT32                  EntryName,
    637       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    638       1.1    jruoho     ACPI_OBJECT_TYPE        Type,
    639       1.1    jruoho     ACPI_NAMESPACE_NODE     **RetNode);
    640       1.1    jruoho 
    641       1.1    jruoho void
    642       1.1    jruoho AcpiNsInstallNode (
    643       1.1    jruoho     ACPI_WALK_STATE         *WalkState,
    644       1.1    jruoho     ACPI_NAMESPACE_NODE     *ParentNode,
    645       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    646       1.1    jruoho     ACPI_OBJECT_TYPE        Type);
    647       1.1    jruoho 
    648       1.1    jruoho 
    649       1.1    jruoho /*
    650       1.1    jruoho  * nsutils - Utility functions
    651       1.1    jruoho  */
    652       1.1    jruoho ACPI_OBJECT_TYPE
    653       1.1    jruoho AcpiNsGetType (
    654       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node);
    655       1.1    jruoho 
    656       1.1    jruoho UINT32
    657       1.1    jruoho AcpiNsLocal (
    658       1.1    jruoho     ACPI_OBJECT_TYPE        Type);
    659       1.1    jruoho 
    660       1.1    jruoho void
    661       1.1    jruoho AcpiNsPrintNodePathname (
    662       1.1    jruoho     ACPI_NAMESPACE_NODE     *Node,
    663       1.1    jruoho     const char              *Msg);
    664       1.1    jruoho 
    665       1.1    jruoho ACPI_STATUS
    666       1.1    jruoho AcpiNsBuildInternalName (
    667       1.1    jruoho     ACPI_NAMESTRING_INFO    *Info);
    668       1.1    jruoho 
    669       1.1    jruoho void
    670       1.1    jruoho AcpiNsGetInternalNameLength (
    671       1.1    jruoho     ACPI_NAMESTRING_INFO    *Info);
    672       1.1    jruoho 
    673       1.1    jruoho ACPI_STATUS
    674       1.1    jruoho AcpiNsInternalizeName (
    675       1.1    jruoho     const char              *DottedName,
    676       1.1    jruoho     char                    **ConvertedName);
    677       1.1    jruoho 
    678       1.1    jruoho ACPI_STATUS
    679       1.1    jruoho AcpiNsExternalizeName (
    680       1.1    jruoho     UINT32                  InternalNameLength,
    681       1.1    jruoho     const char              *InternalName,
    682       1.1    jruoho     UINT32                  *ConvertedNameLength,
    683       1.1    jruoho     char                    **ConvertedName);
    684       1.1    jruoho 
    685       1.1    jruoho ACPI_NAMESPACE_NODE *
    686       1.1    jruoho AcpiNsValidateHandle (
    687       1.1    jruoho     ACPI_HANDLE             Handle);
    688       1.1    jruoho 
    689       1.1    jruoho void
    690       1.1    jruoho AcpiNsTerminate (
    691       1.1    jruoho     void);
    692       1.1    jruoho 
    693       1.1    jruoho #endif /* __ACNAMESP_H__ */
    694