1a9f12690SJung-uk Kim /****************************************************************************** 2a9f12690SJung-uk Kim * 3a9f12690SJung-uk Kim * Name: acnamesp.h - Namespace subcomponent prototypes and defines 4a9f12690SJung-uk Kim * 5a9f12690SJung-uk Kim *****************************************************************************/ 6a9f12690SJung-uk Kim 7a9f12690SJung-uk Kim /****************************************************************************** 8a9f12690SJung-uk Kim * 9a9f12690SJung-uk Kim * 1. Copyright Notice 10a9f12690SJung-uk Kim * 11a9f12690SJung-uk Kim * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp. 12a9f12690SJung-uk Kim * All rights reserved. 13a9f12690SJung-uk Kim * 14a9f12690SJung-uk Kim * 2. License 15a9f12690SJung-uk Kim * 16a9f12690SJung-uk Kim * 2.1. This is your license from Intel Corp. under its intellectual property 17a9f12690SJung-uk Kim * rights. You may have additional license terms from the party that provided 18a9f12690SJung-uk Kim * you this software, covering your right to use that party's intellectual 19a9f12690SJung-uk Kim * property rights. 20a9f12690SJung-uk Kim * 21a9f12690SJung-uk Kim * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 22a9f12690SJung-uk Kim * copy of the source code appearing in this file ("Covered Code") an 23a9f12690SJung-uk Kim * irrevocable, perpetual, worldwide license under Intel's copyrights in the 24a9f12690SJung-uk Kim * base code distributed originally by Intel ("Original Intel Code") to copy, 25a9f12690SJung-uk Kim * make derivatives, distribute, use and display any portion of the Covered 26a9f12690SJung-uk Kim * Code in any form, with the right to sublicense such rights; and 27a9f12690SJung-uk Kim * 28a9f12690SJung-uk Kim * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 29a9f12690SJung-uk Kim * license (with the right to sublicense), under only those claims of Intel 30a9f12690SJung-uk Kim * patents that are infringed by the Original Intel Code, to make, use, sell, 31a9f12690SJung-uk Kim * offer to sell, and import the Covered Code and derivative works thereof 32a9f12690SJung-uk Kim * solely to the minimum extent necessary to exercise the above copyright 33a9f12690SJung-uk Kim * license, and in no event shall the patent license extend to any additions 34a9f12690SJung-uk Kim * to or modifications of the Original Intel Code. No other license or right 35a9f12690SJung-uk Kim * is granted directly or by implication, estoppel or otherwise; 36a9f12690SJung-uk Kim * 37a9f12690SJung-uk Kim * The above copyright and patent license is granted only if the following 38a9f12690SJung-uk Kim * conditions are met: 39a9f12690SJung-uk Kim * 40a9f12690SJung-uk Kim * 3. Conditions 41a9f12690SJung-uk Kim * 42a9f12690SJung-uk Kim * 3.1. Redistribution of Source with Rights to Further Distribute Source. 43a9f12690SJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 44a9f12690SJung-uk Kim * Code or modification with rights to further distribute source must include 45a9f12690SJung-uk Kim * the above Copyright Notice, the above License, this list of Conditions, 46a9f12690SJung-uk Kim * and the following Disclaimer and Export Compliance provision. In addition, 47a9f12690SJung-uk Kim * Licensee must cause all Covered Code to which Licensee contributes to 48a9f12690SJung-uk Kim * contain a file documenting the changes Licensee made to create that Covered 49a9f12690SJung-uk Kim * Code and the date of any change. Licensee must include in that file the 50a9f12690SJung-uk Kim * documentation of any changes made by any predecessor Licensee. Licensee 51a9f12690SJung-uk Kim * must include a prominent statement that the modification is derived, 52a9f12690SJung-uk Kim * directly or indirectly, from Original Intel Code. 53a9f12690SJung-uk Kim * 54a9f12690SJung-uk Kim * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 55a9f12690SJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 56a9f12690SJung-uk Kim * Code or modification without rights to further distribute source must 57a9f12690SJung-uk Kim * include the following Disclaimer and Export Compliance provision in the 58a9f12690SJung-uk Kim * documentation and/or other materials provided with distribution. In 59a9f12690SJung-uk Kim * addition, Licensee may not authorize further sublicense of source of any 60a9f12690SJung-uk Kim * portion of the Covered Code, and must include terms to the effect that the 61a9f12690SJung-uk Kim * license from Licensee to its licensee is limited to the intellectual 62a9f12690SJung-uk Kim * property embodied in the software Licensee provides to its licensee, and 63a9f12690SJung-uk Kim * not to intellectual property embodied in modifications its licensee may 64a9f12690SJung-uk Kim * make. 65a9f12690SJung-uk Kim * 66a9f12690SJung-uk Kim * 3.3. Redistribution of Executable. Redistribution in executable form of any 67a9f12690SJung-uk Kim * substantial portion of the Covered Code or modification must reproduce the 68a9f12690SJung-uk Kim * above Copyright Notice, and the following Disclaimer and Export Compliance 69a9f12690SJung-uk Kim * provision in the documentation and/or other materials provided with the 70a9f12690SJung-uk Kim * distribution. 71a9f12690SJung-uk Kim * 72a9f12690SJung-uk Kim * 3.4. Intel retains all right, title, and interest in and to the Original 73a9f12690SJung-uk Kim * Intel Code. 74a9f12690SJung-uk Kim * 75a9f12690SJung-uk Kim * 3.5. Neither the name Intel nor any other trademark owned or controlled by 76a9f12690SJung-uk Kim * Intel shall be used in advertising or otherwise to promote the sale, use or 77a9f12690SJung-uk Kim * other dealings in products derived from or relating to the Covered Code 78a9f12690SJung-uk Kim * without prior written authorization from Intel. 79a9f12690SJung-uk Kim * 80a9f12690SJung-uk Kim * 4. Disclaimer and Export Compliance 81a9f12690SJung-uk Kim * 82a9f12690SJung-uk Kim * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 83a9f12690SJung-uk Kim * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 84a9f12690SJung-uk Kim * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 85a9f12690SJung-uk Kim * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 86a9f12690SJung-uk Kim * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 87a9f12690SJung-uk Kim * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 88a9f12690SJung-uk Kim * PARTICULAR PURPOSE. 89a9f12690SJung-uk Kim * 90a9f12690SJung-uk Kim * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 91a9f12690SJung-uk Kim * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 92a9f12690SJung-uk Kim * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 93a9f12690SJung-uk Kim * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 94a9f12690SJung-uk Kim * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 95a9f12690SJung-uk Kim * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 96a9f12690SJung-uk Kim * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 97a9f12690SJung-uk Kim * LIMITED REMEDY. 98a9f12690SJung-uk Kim * 99a9f12690SJung-uk Kim * 4.3. Licensee shall not export, either directly or indirectly, any of this 100a9f12690SJung-uk Kim * software or system incorporating such software without first obtaining any 101a9f12690SJung-uk Kim * required license or other approval from the U. S. Department of Commerce or 102a9f12690SJung-uk Kim * any other agency or department of the United States Government. In the 103a9f12690SJung-uk Kim * event Licensee exports any such software from the United States or 104a9f12690SJung-uk Kim * re-exports any such software from a foreign destination, Licensee shall 105a9f12690SJung-uk Kim * ensure that the distribution and export/re-export of the software is in 106a9f12690SJung-uk Kim * compliance with all laws, regulations, orders, or other restrictions of the 107a9f12690SJung-uk Kim * U.S. Export Administration Regulations. Licensee agrees that neither it nor 108a9f12690SJung-uk Kim * any of its subsidiaries will export/re-export any technical data, process, 109a9f12690SJung-uk Kim * software, or service, directly or indirectly, to any country for which the 110a9f12690SJung-uk Kim * United States government or any agency thereof requires an export license, 111a9f12690SJung-uk Kim * other governmental approval, or letter of assurance, without first obtaining 112a9f12690SJung-uk Kim * such license, approval or letter. 113a9f12690SJung-uk Kim * 114a9f12690SJung-uk Kim *****************************************************************************/ 115a9f12690SJung-uk Kim 116a9f12690SJung-uk Kim #ifndef __ACNAMESP_H__ 117a9f12690SJung-uk Kim #define __ACNAMESP_H__ 118a9f12690SJung-uk Kim 119a9f12690SJung-uk Kim 120a9f12690SJung-uk Kim /* To search the entire name space, pass this as SearchBase */ 121a9f12690SJung-uk Kim 122a9f12690SJung-uk Kim #define ACPI_NS_ALL ((ACPI_HANDLE)0) 123a9f12690SJung-uk Kim 124a9f12690SJung-uk Kim /* 125a9f12690SJung-uk Kim * Elements of AcpiNsProperties are bit significant 126a9f12690SJung-uk Kim * and should be one-to-one with values of ACPI_OBJECT_TYPE 127a9f12690SJung-uk Kim */ 128a9f12690SJung-uk Kim #define ACPI_NS_NORMAL 0 129a9f12690SJung-uk Kim #define ACPI_NS_NEWSCOPE 1 /* a definition of this type opens a name scope */ 130a9f12690SJung-uk Kim #define ACPI_NS_LOCAL 2 /* suppress search of enclosing scopes */ 131a9f12690SJung-uk Kim 132a9f12690SJung-uk Kim /* Flags for AcpiNsLookup, AcpiNsSearchAndEnter */ 133a9f12690SJung-uk Kim 134a9f12690SJung-uk Kim #define ACPI_NS_NO_UPSEARCH 0 135a9f12690SJung-uk Kim #define ACPI_NS_SEARCH_PARENT 0x01 136a9f12690SJung-uk Kim #define ACPI_NS_DONT_OPEN_SCOPE 0x02 137a9f12690SJung-uk Kim #define ACPI_NS_NO_PEER_SEARCH 0x04 138a9f12690SJung-uk Kim #define ACPI_NS_ERROR_IF_FOUND 0x08 139a9f12690SJung-uk Kim #define ACPI_NS_PREFIX_IS_SCOPE 0x10 140a9f12690SJung-uk Kim #define ACPI_NS_EXTERNAL 0x20 141a9f12690SJung-uk Kim #define ACPI_NS_TEMPORARY 0x40 142a9f12690SJung-uk Kim 143a9f12690SJung-uk Kim /* Flags for AcpiNsWalkNamespace */ 144a9f12690SJung-uk Kim 145a9f12690SJung-uk Kim #define ACPI_NS_WALK_NO_UNLOCK 0 146a9f12690SJung-uk Kim #define ACPI_NS_WALK_UNLOCK 0x01 147a9f12690SJung-uk Kim #define ACPI_NS_WALK_TEMP_NODES 0x02 148a9f12690SJung-uk Kim 149a9f12690SJung-uk Kim 150a9f12690SJung-uk Kim /* 151a9f12690SJung-uk Kim * nsinit - Namespace initialization 152a9f12690SJung-uk Kim */ 153a9f12690SJung-uk Kim ACPI_STATUS 154a9f12690SJung-uk Kim AcpiNsInitializeObjects ( 155a9f12690SJung-uk Kim void); 156a9f12690SJung-uk Kim 157a9f12690SJung-uk Kim ACPI_STATUS 158a9f12690SJung-uk Kim AcpiNsInitializeDevices ( 159a9f12690SJung-uk Kim void); 160a9f12690SJung-uk Kim 161a9f12690SJung-uk Kim 162a9f12690SJung-uk Kim /* 163a9f12690SJung-uk Kim * nsload - Namespace loading 164a9f12690SJung-uk Kim */ 165a9f12690SJung-uk Kim ACPI_STATUS 166a9f12690SJung-uk Kim AcpiNsLoadNamespace ( 167a9f12690SJung-uk Kim void); 168a9f12690SJung-uk Kim 169a9f12690SJung-uk Kim ACPI_STATUS 170a9f12690SJung-uk Kim AcpiNsLoadTable ( 171a9f12690SJung-uk Kim UINT32 TableIndex, 172a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 173a9f12690SJung-uk Kim 174a9f12690SJung-uk Kim 175a9f12690SJung-uk Kim /* 176a9f12690SJung-uk Kim * nswalk - walk the namespace 177a9f12690SJung-uk Kim */ 178a9f12690SJung-uk Kim ACPI_STATUS 179a9f12690SJung-uk Kim AcpiNsWalkNamespace ( 180a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 181a9f12690SJung-uk Kim ACPI_HANDLE StartObject, 182a9f12690SJung-uk Kim UINT32 MaxDepth, 183a9f12690SJung-uk Kim UINT32 Flags, 184a9f12690SJung-uk Kim ACPI_WALK_CALLBACK UserFunction, 185a9f12690SJung-uk Kim void *Context, 186a9f12690SJung-uk Kim void **ReturnValue); 187a9f12690SJung-uk Kim 188a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 189a9f12690SJung-uk Kim AcpiNsGetNextNode ( 190a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 191a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 192a9f12690SJung-uk Kim 193a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 194a9f12690SJung-uk Kim AcpiNsGetNextNodeTyped ( 195a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 196a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 197a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 198a9f12690SJung-uk Kim 199a9f12690SJung-uk Kim /* 200a9f12690SJung-uk Kim * nsparse - table parsing 201a9f12690SJung-uk Kim */ 202a9f12690SJung-uk Kim ACPI_STATUS 203a9f12690SJung-uk Kim AcpiNsParseTable ( 204a9f12690SJung-uk Kim UINT32 TableIndex, 205a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 206a9f12690SJung-uk Kim 207a9f12690SJung-uk Kim ACPI_STATUS 208a9f12690SJung-uk Kim AcpiNsOneCompleteParse ( 209a9f12690SJung-uk Kim UINT32 PassNumber, 210a9f12690SJung-uk Kim UINT32 TableIndex, 211a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 212a9f12690SJung-uk Kim 213a9f12690SJung-uk Kim 214a9f12690SJung-uk Kim /* 215a9f12690SJung-uk Kim * nsaccess - Top-level namespace access 216a9f12690SJung-uk Kim */ 217a9f12690SJung-uk Kim ACPI_STATUS 218a9f12690SJung-uk Kim AcpiNsRootInitialize ( 219a9f12690SJung-uk Kim void); 220a9f12690SJung-uk Kim 221a9f12690SJung-uk Kim ACPI_STATUS 222a9f12690SJung-uk Kim AcpiNsLookup ( 223a9f12690SJung-uk Kim ACPI_GENERIC_STATE *ScopeInfo, 224a9f12690SJung-uk Kim char *Name, 225a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 226a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 227a9f12690SJung-uk Kim UINT32 Flags, 228a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 229a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 230a9f12690SJung-uk Kim 231a9f12690SJung-uk Kim 232a9f12690SJung-uk Kim /* 233a9f12690SJung-uk Kim * nsalloc - Named object allocation/deallocation 234a9f12690SJung-uk Kim */ 235a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 236a9f12690SJung-uk Kim AcpiNsCreateNode ( 237a9f12690SJung-uk Kim UINT32 Name); 238a9f12690SJung-uk Kim 239a9f12690SJung-uk Kim void 240a9f12690SJung-uk Kim AcpiNsDeleteNode ( 241a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 242a9f12690SJung-uk Kim 243a9f12690SJung-uk Kim void 244a9f12690SJung-uk Kim AcpiNsDeleteNamespaceSubtree ( 245a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentHandle); 246a9f12690SJung-uk Kim 247a9f12690SJung-uk Kim void 248a9f12690SJung-uk Kim AcpiNsDeleteNamespaceByOwner ( 249a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId); 250a9f12690SJung-uk Kim 251a9f12690SJung-uk Kim void 252a9f12690SJung-uk Kim AcpiNsDetachObject ( 253a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 254a9f12690SJung-uk Kim 255a9f12690SJung-uk Kim void 256a9f12690SJung-uk Kim AcpiNsDeleteChildren ( 257a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent); 258a9f12690SJung-uk Kim 259a9f12690SJung-uk Kim int 260a9f12690SJung-uk Kim AcpiNsCompareNames ( 261a9f12690SJung-uk Kim char *Name1, 262a9f12690SJung-uk Kim char *Name2); 263a9f12690SJung-uk Kim 264a9f12690SJung-uk Kim 265a9f12690SJung-uk Kim /* 266a9f12690SJung-uk Kim * nsdump - Namespace dump/print utilities 267a9f12690SJung-uk Kim */ 268a9f12690SJung-uk Kim void 269a9f12690SJung-uk Kim AcpiNsDumpTables ( 270a9f12690SJung-uk Kim ACPI_HANDLE SearchBase, 271a9f12690SJung-uk Kim UINT32 MaxDepth); 272a9f12690SJung-uk Kim 273a9f12690SJung-uk Kim void 274a9f12690SJung-uk Kim AcpiNsDumpEntry ( 275a9f12690SJung-uk Kim ACPI_HANDLE Handle, 276a9f12690SJung-uk Kim UINT32 DebugLevel); 277a9f12690SJung-uk Kim 278a9f12690SJung-uk Kim void 279a9f12690SJung-uk Kim AcpiNsDumpPathname ( 280a9f12690SJung-uk Kim ACPI_HANDLE Handle, 281a9f12690SJung-uk Kim char *Msg, 282a9f12690SJung-uk Kim UINT32 Level, 283a9f12690SJung-uk Kim UINT32 Component); 284a9f12690SJung-uk Kim 285a9f12690SJung-uk Kim void 286a9f12690SJung-uk Kim AcpiNsPrintPathname ( 287a9f12690SJung-uk Kim UINT32 NumSegments, 288a9f12690SJung-uk Kim char *Pathname); 289a9f12690SJung-uk Kim 290a9f12690SJung-uk Kim ACPI_STATUS 291a9f12690SJung-uk Kim AcpiNsDumpOneObject ( 292a9f12690SJung-uk Kim ACPI_HANDLE ObjHandle, 293a9f12690SJung-uk Kim UINT32 Level, 294a9f12690SJung-uk Kim void *Context, 295a9f12690SJung-uk Kim void **ReturnValue); 296a9f12690SJung-uk Kim 297a9f12690SJung-uk Kim void 298a9f12690SJung-uk Kim AcpiNsDumpObjects ( 299a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 300a9f12690SJung-uk Kim UINT8 DisplayType, 301a9f12690SJung-uk Kim UINT32 MaxDepth, 302a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId, 303a9f12690SJung-uk Kim ACPI_HANDLE StartHandle); 304a9f12690SJung-uk Kim 305a9f12690SJung-uk Kim 306a9f12690SJung-uk Kim /* 307a9f12690SJung-uk Kim * nseval - Namespace evaluation functions 308a9f12690SJung-uk Kim */ 309a9f12690SJung-uk Kim ACPI_STATUS 310a9f12690SJung-uk Kim AcpiNsEvaluate ( 311a9f12690SJung-uk Kim ACPI_EVALUATE_INFO *Info); 312a9f12690SJung-uk Kim 313a9f12690SJung-uk Kim 314a9f12690SJung-uk Kim /* 315a9f12690SJung-uk Kim * nspredef - Support for predefined/reserved names 316a9f12690SJung-uk Kim */ 317a9f12690SJung-uk Kim ACPI_STATUS 318a9f12690SJung-uk Kim AcpiNsCheckPredefinedNames ( 319a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 320a9f12690SJung-uk Kim UINT32 UserParamCount, 321a9f12690SJung-uk Kim ACPI_STATUS ReturnStatus, 322a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 323a9f12690SJung-uk Kim 324a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO * 325a9f12690SJung-uk Kim AcpiNsCheckForPredefinedName ( 326a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 327a9f12690SJung-uk Kim 328a9f12690SJung-uk Kim void 329a9f12690SJung-uk Kim AcpiNsCheckParameterCount ( 330a9f12690SJung-uk Kim char *Pathname, 331a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 332a9f12690SJung-uk Kim UINT32 UserParamCount, 333a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO *Info); 334a9f12690SJung-uk Kim 335a9f12690SJung-uk Kim 336a9f12690SJung-uk Kim /* 337a9f12690SJung-uk Kim * nsnames - Name and Scope manipulation 338a9f12690SJung-uk Kim */ 339a9f12690SJung-uk Kim UINT32 340a9f12690SJung-uk Kim AcpiNsOpensScope ( 341a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 342a9f12690SJung-uk Kim 343a9f12690SJung-uk Kim ACPI_STATUS 344a9f12690SJung-uk Kim AcpiNsBuildExternalPath ( 345a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 346a9f12690SJung-uk Kim ACPI_SIZE Size, 347a9f12690SJung-uk Kim char *NameBuffer); 348a9f12690SJung-uk Kim 349a9f12690SJung-uk Kim char * 350a9f12690SJung-uk Kim AcpiNsGetExternalPathname ( 351a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 352a9f12690SJung-uk Kim 353a9f12690SJung-uk Kim char * 354a9f12690SJung-uk Kim AcpiNsNameOfCurrentScope ( 355a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 356a9f12690SJung-uk Kim 357a9f12690SJung-uk Kim ACPI_STATUS 358a9f12690SJung-uk Kim AcpiNsHandleToPathname ( 359a9f12690SJung-uk Kim ACPI_HANDLE TargetHandle, 360a9f12690SJung-uk Kim ACPI_BUFFER *Buffer); 361a9f12690SJung-uk Kim 362a9f12690SJung-uk Kim BOOLEAN 363a9f12690SJung-uk Kim AcpiNsPatternMatch ( 364a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ObjNode, 365a9f12690SJung-uk Kim char *SearchFor); 366a9f12690SJung-uk Kim 367a9f12690SJung-uk Kim ACPI_STATUS 368a9f12690SJung-uk Kim AcpiNsGetNode ( 369a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *PrefixNode, 370a9f12690SJung-uk Kim const char *ExternalPathname, 371a9f12690SJung-uk Kim UINT32 Flags, 372a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **OutNode); 373a9f12690SJung-uk Kim 374a9f12690SJung-uk Kim ACPI_SIZE 375a9f12690SJung-uk Kim AcpiNsGetPathnameLength ( 376a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 377a9f12690SJung-uk Kim 378a9f12690SJung-uk Kim 379a9f12690SJung-uk Kim /* 380a9f12690SJung-uk Kim * nsobject - Object management for namespace nodes 381a9f12690SJung-uk Kim */ 382a9f12690SJung-uk Kim ACPI_STATUS 383a9f12690SJung-uk Kim AcpiNsAttachObject ( 384a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 385a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 386a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 387a9f12690SJung-uk Kim 388a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 389a9f12690SJung-uk Kim AcpiNsGetAttachedObject ( 390a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 391a9f12690SJung-uk Kim 392a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 393a9f12690SJung-uk Kim AcpiNsGetSecondaryObject ( 394a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 395a9f12690SJung-uk Kim 396a9f12690SJung-uk Kim ACPI_STATUS 397a9f12690SJung-uk Kim AcpiNsAttachData ( 398a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 399a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 400a9f12690SJung-uk Kim void *Data); 401a9f12690SJung-uk Kim 402a9f12690SJung-uk Kim ACPI_STATUS 403a9f12690SJung-uk Kim AcpiNsDetachData ( 404a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 405a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler); 406a9f12690SJung-uk Kim 407a9f12690SJung-uk Kim ACPI_STATUS 408a9f12690SJung-uk Kim AcpiNsGetAttachedData ( 409a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 410a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 411a9f12690SJung-uk Kim void **Data); 412a9f12690SJung-uk Kim 413a9f12690SJung-uk Kim 414a9f12690SJung-uk Kim /* 415a9f12690SJung-uk Kim * nssearch - Namespace searching and entry 416a9f12690SJung-uk Kim */ 417a9f12690SJung-uk Kim ACPI_STATUS 418a9f12690SJung-uk Kim AcpiNsSearchAndEnter ( 419a9f12690SJung-uk Kim UINT32 EntryName, 420a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 421a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 422a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 423a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 424a9f12690SJung-uk Kim UINT32 Flags, 425a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 426a9f12690SJung-uk Kim 427a9f12690SJung-uk Kim ACPI_STATUS 428a9f12690SJung-uk Kim AcpiNsSearchOneScope ( 429a9f12690SJung-uk Kim UINT32 EntryName, 430a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 431a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 432a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 433a9f12690SJung-uk Kim 434a9f12690SJung-uk Kim void 435a9f12690SJung-uk Kim AcpiNsInstallNode ( 436a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 437a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentNode, 438a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 439a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 440a9f12690SJung-uk Kim 441a9f12690SJung-uk Kim 442a9f12690SJung-uk Kim /* 443a9f12690SJung-uk Kim * nsutils - Utility functions 444a9f12690SJung-uk Kim */ 445a9f12690SJung-uk Kim BOOLEAN 446a9f12690SJung-uk Kim AcpiNsValidRootPrefix ( 447a9f12690SJung-uk Kim char Prefix); 448a9f12690SJung-uk Kim 449a9f12690SJung-uk Kim ACPI_OBJECT_TYPE 450a9f12690SJung-uk Kim AcpiNsGetType ( 451a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 452a9f12690SJung-uk Kim 453a9f12690SJung-uk Kim UINT32 454a9f12690SJung-uk Kim AcpiNsLocal ( 455a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 456a9f12690SJung-uk Kim 457a9f12690SJung-uk Kim void 458a9f12690SJung-uk Kim AcpiNsReportError ( 459a9f12690SJung-uk Kim const char *ModuleName, 460a9f12690SJung-uk Kim UINT32 LineNumber, 461a9f12690SJung-uk Kim const char *InternalName, 462a9f12690SJung-uk Kim ACPI_STATUS LookupStatus); 463a9f12690SJung-uk Kim 464a9f12690SJung-uk Kim void 465a9f12690SJung-uk Kim AcpiNsReportMethodError ( 466a9f12690SJung-uk Kim const char *ModuleName, 467a9f12690SJung-uk Kim UINT32 LineNumber, 468a9f12690SJung-uk Kim const char *Message, 469a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 470a9f12690SJung-uk Kim const char *Path, 471a9f12690SJung-uk Kim ACPI_STATUS LookupStatus); 472a9f12690SJung-uk Kim 473a9f12690SJung-uk Kim void 474a9f12690SJung-uk Kim AcpiNsPrintNodePathname ( 475a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 476a9f12690SJung-uk Kim const char *Msg); 477a9f12690SJung-uk Kim 478a9f12690SJung-uk Kim ACPI_STATUS 479a9f12690SJung-uk Kim AcpiNsBuildInternalName ( 480a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 481a9f12690SJung-uk Kim 482a9f12690SJung-uk Kim void 483a9f12690SJung-uk Kim AcpiNsGetInternalNameLength ( 484a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 485a9f12690SJung-uk Kim 486a9f12690SJung-uk Kim ACPI_STATUS 487a9f12690SJung-uk Kim AcpiNsInternalizeName ( 488a9f12690SJung-uk Kim const char *DottedName, 489a9f12690SJung-uk Kim char **ConvertedName); 490a9f12690SJung-uk Kim 491a9f12690SJung-uk Kim ACPI_STATUS 492a9f12690SJung-uk Kim AcpiNsExternalizeName ( 493a9f12690SJung-uk Kim UINT32 InternalNameLength, 494a9f12690SJung-uk Kim const char *InternalName, 495a9f12690SJung-uk Kim UINT32 *ConvertedNameLength, 496a9f12690SJung-uk Kim char **ConvertedName); 497a9f12690SJung-uk Kim 498a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 499a9f12690SJung-uk Kim AcpiNsMapHandleToNode ( 500a9f12690SJung-uk Kim ACPI_HANDLE Handle); 501a9f12690SJung-uk Kim 502a9f12690SJung-uk Kim ACPI_HANDLE 503a9f12690SJung-uk Kim AcpiNsConvertEntryToHandle( 504a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 505a9f12690SJung-uk Kim 506a9f12690SJung-uk Kim void 507a9f12690SJung-uk Kim AcpiNsTerminate ( 508a9f12690SJung-uk Kim void); 509a9f12690SJung-uk Kim 510a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 511a9f12690SJung-uk Kim AcpiNsGetParentNode ( 512a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 513a9f12690SJung-uk Kim 514a9f12690SJung-uk Kim 515a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 516a9f12690SJung-uk Kim AcpiNsGetNextValidNode ( 517a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 518a9f12690SJung-uk Kim 519a9f12690SJung-uk Kim #endif /* __ACNAMESP_H__ */ 520