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 149d6dd1baeSJung-uk Kim /* Object is not a package element */ 150d6dd1baeSJung-uk Kim 151d6dd1baeSJung-uk Kim #define ACPI_NOT_PACKAGE_ELEMENT ACPI_UINT32_MAX 152d6dd1baeSJung-uk Kim 153d6dd1baeSJung-uk Kim /* Always emit warning message, not dependent on node flags */ 154d6dd1baeSJung-uk Kim 155d6dd1baeSJung-uk Kim #define ACPI_WARN_ALWAYS 0 156d6dd1baeSJung-uk Kim 157a9f12690SJung-uk Kim 158a9f12690SJung-uk Kim /* 159a9f12690SJung-uk Kim * nsinit - Namespace initialization 160a9f12690SJung-uk Kim */ 161a9f12690SJung-uk Kim ACPI_STATUS 162a9f12690SJung-uk Kim AcpiNsInitializeObjects ( 163a9f12690SJung-uk Kim void); 164a9f12690SJung-uk Kim 165a9f12690SJung-uk Kim ACPI_STATUS 166a9f12690SJung-uk Kim AcpiNsInitializeDevices ( 167a9f12690SJung-uk Kim void); 168a9f12690SJung-uk Kim 169a9f12690SJung-uk Kim 170a9f12690SJung-uk Kim /* 171a9f12690SJung-uk Kim * nsload - Namespace loading 172a9f12690SJung-uk Kim */ 173a9f12690SJung-uk Kim ACPI_STATUS 174a9f12690SJung-uk Kim AcpiNsLoadNamespace ( 175a9f12690SJung-uk Kim void); 176a9f12690SJung-uk Kim 177a9f12690SJung-uk Kim ACPI_STATUS 178a9f12690SJung-uk Kim AcpiNsLoadTable ( 179a9f12690SJung-uk Kim UINT32 TableIndex, 180a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 181a9f12690SJung-uk Kim 182a9f12690SJung-uk Kim 183a9f12690SJung-uk Kim /* 184a9f12690SJung-uk Kim * nswalk - walk the namespace 185a9f12690SJung-uk Kim */ 186a9f12690SJung-uk Kim ACPI_STATUS 187a9f12690SJung-uk Kim AcpiNsWalkNamespace ( 188a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 189a9f12690SJung-uk Kim ACPI_HANDLE StartObject, 190a9f12690SJung-uk Kim UINT32 MaxDepth, 191a9f12690SJung-uk Kim UINT32 Flags, 1922272d050SJung-uk Kim ACPI_WALK_CALLBACK PreOrderVisit, 1932272d050SJung-uk Kim ACPI_WALK_CALLBACK PostOrderVisit, 194a9f12690SJung-uk Kim void *Context, 195a9f12690SJung-uk Kim void **ReturnValue); 196a9f12690SJung-uk Kim 197a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 198a9f12690SJung-uk Kim AcpiNsGetNextNode ( 199a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 200a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 201a9f12690SJung-uk Kim 202a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 203a9f12690SJung-uk Kim AcpiNsGetNextNodeTyped ( 204a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 205a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 206a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 207a9f12690SJung-uk Kim 208a9f12690SJung-uk Kim /* 209a9f12690SJung-uk Kim * nsparse - table parsing 210a9f12690SJung-uk Kim */ 211a9f12690SJung-uk Kim ACPI_STATUS 212a9f12690SJung-uk Kim AcpiNsParseTable ( 213a9f12690SJung-uk Kim UINT32 TableIndex, 214a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 215a9f12690SJung-uk Kim 216a9f12690SJung-uk Kim ACPI_STATUS 217a9f12690SJung-uk Kim AcpiNsOneCompleteParse ( 218a9f12690SJung-uk Kim UINT32 PassNumber, 219a9f12690SJung-uk Kim UINT32 TableIndex, 220a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 221a9f12690SJung-uk Kim 222a9f12690SJung-uk Kim 223a9f12690SJung-uk Kim /* 224a9f12690SJung-uk Kim * nsaccess - Top-level namespace access 225a9f12690SJung-uk Kim */ 226a9f12690SJung-uk Kim ACPI_STATUS 227a9f12690SJung-uk Kim AcpiNsRootInitialize ( 228a9f12690SJung-uk Kim void); 229a9f12690SJung-uk Kim 230a9f12690SJung-uk Kim ACPI_STATUS 231a9f12690SJung-uk Kim AcpiNsLookup ( 232a9f12690SJung-uk Kim ACPI_GENERIC_STATE *ScopeInfo, 233a9f12690SJung-uk Kim char *Name, 234a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 235a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 236a9f12690SJung-uk Kim UINT32 Flags, 237a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 238a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 239a9f12690SJung-uk Kim 240a9f12690SJung-uk Kim 241a9f12690SJung-uk Kim /* 242a9f12690SJung-uk Kim * nsalloc - Named object allocation/deallocation 243a9f12690SJung-uk Kim */ 244a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 245a9f12690SJung-uk Kim AcpiNsCreateNode ( 246a9f12690SJung-uk Kim UINT32 Name); 247a9f12690SJung-uk Kim 248a9f12690SJung-uk Kim void 249a9f12690SJung-uk Kim AcpiNsDeleteNode ( 250a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 251a9f12690SJung-uk Kim 252a9f12690SJung-uk Kim void 253d6dd1baeSJung-uk Kim AcpiNsRemoveNode ( 254d6dd1baeSJung-uk Kim ACPI_NAMESPACE_NODE *Node); 255d6dd1baeSJung-uk Kim 256d6dd1baeSJung-uk Kim void 257a9f12690SJung-uk Kim AcpiNsDeleteNamespaceSubtree ( 258a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentHandle); 259a9f12690SJung-uk Kim 260a9f12690SJung-uk Kim void 261a9f12690SJung-uk Kim AcpiNsDeleteNamespaceByOwner ( 262a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId); 263a9f12690SJung-uk Kim 264a9f12690SJung-uk Kim void 265a9f12690SJung-uk Kim AcpiNsDetachObject ( 266a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 267a9f12690SJung-uk Kim 268a9f12690SJung-uk Kim void 269a9f12690SJung-uk Kim AcpiNsDeleteChildren ( 270a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent); 271a9f12690SJung-uk Kim 272a9f12690SJung-uk Kim int 273a9f12690SJung-uk Kim AcpiNsCompareNames ( 274a9f12690SJung-uk Kim char *Name1, 275a9f12690SJung-uk Kim char *Name2); 276a9f12690SJung-uk Kim 277a9f12690SJung-uk Kim 278a9f12690SJung-uk Kim /* 279a9f12690SJung-uk Kim * nsdump - Namespace dump/print utilities 280a9f12690SJung-uk Kim */ 281a9f12690SJung-uk Kim void 282a9f12690SJung-uk Kim AcpiNsDumpTables ( 283a9f12690SJung-uk Kim ACPI_HANDLE SearchBase, 284a9f12690SJung-uk Kim UINT32 MaxDepth); 285a9f12690SJung-uk Kim 286a9f12690SJung-uk Kim void 287a9f12690SJung-uk Kim AcpiNsDumpEntry ( 288a9f12690SJung-uk Kim ACPI_HANDLE Handle, 289a9f12690SJung-uk Kim UINT32 DebugLevel); 290a9f12690SJung-uk Kim 291a9f12690SJung-uk Kim void 292a9f12690SJung-uk Kim AcpiNsDumpPathname ( 293a9f12690SJung-uk Kim ACPI_HANDLE Handle, 294a9f12690SJung-uk Kim char *Msg, 295a9f12690SJung-uk Kim UINT32 Level, 296a9f12690SJung-uk Kim UINT32 Component); 297a9f12690SJung-uk Kim 298a9f12690SJung-uk Kim void 299a9f12690SJung-uk Kim AcpiNsPrintPathname ( 300a9f12690SJung-uk Kim UINT32 NumSegments, 301a9f12690SJung-uk Kim char *Pathname); 302a9f12690SJung-uk Kim 303a9f12690SJung-uk Kim ACPI_STATUS 304a9f12690SJung-uk Kim AcpiNsDumpOneObject ( 305a9f12690SJung-uk Kim ACPI_HANDLE ObjHandle, 306a9f12690SJung-uk Kim UINT32 Level, 307a9f12690SJung-uk Kim void *Context, 308a9f12690SJung-uk Kim void **ReturnValue); 309a9f12690SJung-uk Kim 310a9f12690SJung-uk Kim void 311a9f12690SJung-uk Kim AcpiNsDumpObjects ( 312a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 313a9f12690SJung-uk Kim UINT8 DisplayType, 314a9f12690SJung-uk Kim UINT32 MaxDepth, 315a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId, 316a9f12690SJung-uk Kim ACPI_HANDLE StartHandle); 317a9f12690SJung-uk Kim 318a9f12690SJung-uk Kim 319a9f12690SJung-uk Kim /* 320a9f12690SJung-uk Kim * nseval - Namespace evaluation functions 321a9f12690SJung-uk Kim */ 322a9f12690SJung-uk Kim ACPI_STATUS 323a9f12690SJung-uk Kim AcpiNsEvaluate ( 324a9f12690SJung-uk Kim ACPI_EVALUATE_INFO *Info); 325a9f12690SJung-uk Kim 326d6dd1baeSJung-uk Kim void 327d6dd1baeSJung-uk Kim AcpiNsExecModuleCodeList ( 328d6dd1baeSJung-uk Kim void); 329d6dd1baeSJung-uk Kim 330a9f12690SJung-uk Kim 331a9f12690SJung-uk Kim /* 332a9f12690SJung-uk Kim * nspredef - Support for predefined/reserved names 333a9f12690SJung-uk Kim */ 334a9f12690SJung-uk Kim ACPI_STATUS 335a9f12690SJung-uk Kim AcpiNsCheckPredefinedNames ( 336a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 337a9f12690SJung-uk Kim UINT32 UserParamCount, 338a9f12690SJung-uk Kim ACPI_STATUS ReturnStatus, 339a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 340a9f12690SJung-uk Kim 341a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO * 342a9f12690SJung-uk Kim AcpiNsCheckForPredefinedName ( 343a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 344a9f12690SJung-uk Kim 345a9f12690SJung-uk Kim void 346a9f12690SJung-uk Kim AcpiNsCheckParameterCount ( 347a9f12690SJung-uk Kim char *Pathname, 348a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 349a9f12690SJung-uk Kim UINT32 UserParamCount, 350a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO *Info); 351a9f12690SJung-uk Kim 352a9f12690SJung-uk Kim 353a9f12690SJung-uk Kim /* 354a9f12690SJung-uk Kim * nsnames - Name and Scope manipulation 355a9f12690SJung-uk Kim */ 356a9f12690SJung-uk Kim UINT32 357a9f12690SJung-uk Kim AcpiNsOpensScope ( 358a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 359a9f12690SJung-uk Kim 360a9f12690SJung-uk Kim ACPI_STATUS 361a9f12690SJung-uk Kim AcpiNsBuildExternalPath ( 362a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 363a9f12690SJung-uk Kim ACPI_SIZE Size, 364a9f12690SJung-uk Kim char *NameBuffer); 365a9f12690SJung-uk Kim 366a9f12690SJung-uk Kim char * 367a9f12690SJung-uk Kim AcpiNsGetExternalPathname ( 368a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 369a9f12690SJung-uk Kim 370a9f12690SJung-uk Kim char * 371a9f12690SJung-uk Kim AcpiNsNameOfCurrentScope ( 372a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 373a9f12690SJung-uk Kim 374a9f12690SJung-uk Kim ACPI_STATUS 375a9f12690SJung-uk Kim AcpiNsHandleToPathname ( 376a9f12690SJung-uk Kim ACPI_HANDLE TargetHandle, 377a9f12690SJung-uk Kim ACPI_BUFFER *Buffer); 378a9f12690SJung-uk Kim 379a9f12690SJung-uk Kim BOOLEAN 380a9f12690SJung-uk Kim AcpiNsPatternMatch ( 381a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ObjNode, 382a9f12690SJung-uk Kim char *SearchFor); 383a9f12690SJung-uk Kim 384a9f12690SJung-uk Kim ACPI_STATUS 385a9f12690SJung-uk Kim AcpiNsGetNode ( 386a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *PrefixNode, 387a9f12690SJung-uk Kim const char *ExternalPathname, 388a9f12690SJung-uk Kim UINT32 Flags, 389a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **OutNode); 390a9f12690SJung-uk Kim 391a9f12690SJung-uk Kim ACPI_SIZE 392a9f12690SJung-uk Kim AcpiNsGetPathnameLength ( 393a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 394a9f12690SJung-uk Kim 395a9f12690SJung-uk Kim 396a9f12690SJung-uk Kim /* 397a9f12690SJung-uk Kim * nsobject - Object management for namespace nodes 398a9f12690SJung-uk Kim */ 399a9f12690SJung-uk Kim ACPI_STATUS 400a9f12690SJung-uk Kim AcpiNsAttachObject ( 401a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 402a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 403a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 404a9f12690SJung-uk Kim 405a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 406a9f12690SJung-uk Kim AcpiNsGetAttachedObject ( 407a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 408a9f12690SJung-uk Kim 409a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 410a9f12690SJung-uk Kim AcpiNsGetSecondaryObject ( 411a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 412a9f12690SJung-uk Kim 413a9f12690SJung-uk Kim ACPI_STATUS 414a9f12690SJung-uk Kim AcpiNsAttachData ( 415a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 416a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 417a9f12690SJung-uk Kim void *Data); 418a9f12690SJung-uk Kim 419a9f12690SJung-uk Kim ACPI_STATUS 420a9f12690SJung-uk Kim AcpiNsDetachData ( 421a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 422a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler); 423a9f12690SJung-uk Kim 424a9f12690SJung-uk Kim ACPI_STATUS 425a9f12690SJung-uk Kim AcpiNsGetAttachedData ( 426a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 427a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 428a9f12690SJung-uk Kim void **Data); 429a9f12690SJung-uk Kim 430a9f12690SJung-uk Kim 431a9f12690SJung-uk Kim /* 4322272d050SJung-uk Kim * nsrepair - General return object repair for all 4332272d050SJung-uk Kim * predefined methods/objects 434d6dd1baeSJung-uk Kim */ 435d6dd1baeSJung-uk Kim ACPI_STATUS 436d6dd1baeSJung-uk Kim AcpiNsRepairObject ( 437d6dd1baeSJung-uk Kim ACPI_PREDEFINED_DATA *Data, 438d6dd1baeSJung-uk Kim UINT32 ExpectedBtypes, 439d6dd1baeSJung-uk Kim UINT32 PackageIndex, 440d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 441d6dd1baeSJung-uk Kim 442d6dd1baeSJung-uk Kim ACPI_STATUS 443d6dd1baeSJung-uk Kim AcpiNsRepairPackageList ( 444d6dd1baeSJung-uk Kim ACPI_PREDEFINED_DATA *Data, 445d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ObjDescPtr); 446d6dd1baeSJung-uk Kim 447d6dd1baeSJung-uk Kim 448d6dd1baeSJung-uk Kim /* 4492272d050SJung-uk Kim * nsrepair2 - Return object repair for specific 4502272d050SJung-uk Kim * predefined methods/objects 4512272d050SJung-uk Kim */ 4522272d050SJung-uk Kim ACPI_STATUS 4532272d050SJung-uk Kim AcpiNsComplexRepairs ( 4542272d050SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 4552272d050SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 4562272d050SJung-uk Kim ACPI_STATUS ValidateStatus, 4572272d050SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4582272d050SJung-uk Kim 459572c8255SJung-uk Kim void 460572c8255SJung-uk Kim AcpiNsRemoveNullElements ( 461572c8255SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 462572c8255SJung-uk Kim UINT8 PackageType, 463572c8255SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 4642272d050SJung-uk Kim 4652272d050SJung-uk Kim /* 466a9f12690SJung-uk Kim * nssearch - Namespace searching and entry 467a9f12690SJung-uk Kim */ 468a9f12690SJung-uk Kim ACPI_STATUS 469a9f12690SJung-uk Kim AcpiNsSearchAndEnter ( 470a9f12690SJung-uk Kim UINT32 EntryName, 471a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 472a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 473a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 474a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 475a9f12690SJung-uk Kim UINT32 Flags, 476a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 477a9f12690SJung-uk Kim 478a9f12690SJung-uk Kim ACPI_STATUS 479a9f12690SJung-uk Kim AcpiNsSearchOneScope ( 480a9f12690SJung-uk Kim UINT32 EntryName, 481a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 482a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 483a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 484a9f12690SJung-uk Kim 485a9f12690SJung-uk Kim void 486a9f12690SJung-uk Kim AcpiNsInstallNode ( 487a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 488a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentNode, 489a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 490a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 491a9f12690SJung-uk Kim 492a9f12690SJung-uk Kim 493a9f12690SJung-uk Kim /* 494a9f12690SJung-uk Kim * nsutils - Utility functions 495a9f12690SJung-uk Kim */ 496a9f12690SJung-uk Kim BOOLEAN 497a9f12690SJung-uk Kim AcpiNsValidRootPrefix ( 498a9f12690SJung-uk Kim char Prefix); 499a9f12690SJung-uk Kim 500a9f12690SJung-uk Kim ACPI_OBJECT_TYPE 501a9f12690SJung-uk Kim AcpiNsGetType ( 502a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 503a9f12690SJung-uk Kim 504a9f12690SJung-uk Kim UINT32 505a9f12690SJung-uk Kim AcpiNsLocal ( 506a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 507a9f12690SJung-uk Kim 508a9f12690SJung-uk Kim void 509a9f12690SJung-uk Kim AcpiNsReportError ( 510a9f12690SJung-uk Kim const char *ModuleName, 511a9f12690SJung-uk Kim UINT32 LineNumber, 512a9f12690SJung-uk Kim const char *InternalName, 513a9f12690SJung-uk Kim ACPI_STATUS LookupStatus); 514a9f12690SJung-uk Kim 515a9f12690SJung-uk Kim void 516a9f12690SJung-uk Kim AcpiNsReportMethodError ( 517a9f12690SJung-uk Kim const char *ModuleName, 518a9f12690SJung-uk Kim UINT32 LineNumber, 519a9f12690SJung-uk Kim const char *Message, 520a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 521a9f12690SJung-uk Kim const char *Path, 522a9f12690SJung-uk Kim ACPI_STATUS LookupStatus); 523a9f12690SJung-uk Kim 524a9f12690SJung-uk Kim void 525a9f12690SJung-uk Kim AcpiNsPrintNodePathname ( 526a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 527a9f12690SJung-uk Kim const char *Msg); 528a9f12690SJung-uk Kim 529a9f12690SJung-uk Kim ACPI_STATUS 530a9f12690SJung-uk Kim AcpiNsBuildInternalName ( 531a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 532a9f12690SJung-uk Kim 533a9f12690SJung-uk Kim void 534a9f12690SJung-uk Kim AcpiNsGetInternalNameLength ( 535a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 536a9f12690SJung-uk Kim 537a9f12690SJung-uk Kim ACPI_STATUS 538a9f12690SJung-uk Kim AcpiNsInternalizeName ( 539a9f12690SJung-uk Kim const char *DottedName, 540a9f12690SJung-uk Kim char **ConvertedName); 541a9f12690SJung-uk Kim 542a9f12690SJung-uk Kim ACPI_STATUS 543a9f12690SJung-uk Kim AcpiNsExternalizeName ( 544a9f12690SJung-uk Kim UINT32 InternalNameLength, 545a9f12690SJung-uk Kim const char *InternalName, 546a9f12690SJung-uk Kim UINT32 *ConvertedNameLength, 547a9f12690SJung-uk Kim char **ConvertedName); 548a9f12690SJung-uk Kim 549a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 550572c8255SJung-uk Kim AcpiNsValidateHandle ( 551a9f12690SJung-uk Kim ACPI_HANDLE Handle); 552a9f12690SJung-uk Kim 553a9f12690SJung-uk Kim void 554a9f12690SJung-uk Kim AcpiNsTerminate ( 555a9f12690SJung-uk Kim void); 556a9f12690SJung-uk Kim 557a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 558a9f12690SJung-uk Kim AcpiNsGetParentNode ( 559a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 560a9f12690SJung-uk Kim 561a9f12690SJung-uk Kim 562a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 563a9f12690SJung-uk Kim AcpiNsGetNextValidNode ( 564a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 565a9f12690SJung-uk Kim 566a9f12690SJung-uk Kim #endif /* __ACNAMESP_H__ */ 567