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 7d244b227SJung-uk Kim /* 8*efcc2a30SJung-uk Kim * Copyright (C) 2000 - 2013, Intel Corp. 9a9f12690SJung-uk Kim * All rights reserved. 10a9f12690SJung-uk Kim * 11d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 12d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 13d244b227SJung-uk Kim * are met: 14d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 15d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 16d244b227SJung-uk Kim * without modification. 17d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 19d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 20d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 21d244b227SJung-uk Kim * binary redistribution. 22d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 23d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 24d244b227SJung-uk Kim * from this software without specific prior written permission. 25a9f12690SJung-uk Kim * 26d244b227SJung-uk Kim * Alternatively, this software may be distributed under the terms of the 27d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 28d244b227SJung-uk Kim * Software Foundation. 29a9f12690SJung-uk Kim * 30d244b227SJung-uk Kim * NO WARRANTY 31d244b227SJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32d244b227SJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33d244b227SJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34d244b227SJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35d244b227SJung-uk Kim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36d244b227SJung-uk Kim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37d244b227SJung-uk Kim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38d244b227SJung-uk Kim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39d244b227SJung-uk Kim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40d244b227SJung-uk Kim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41d244b227SJung-uk Kim * POSSIBILITY OF SUCH DAMAGES. 42d244b227SJung-uk Kim */ 43a9f12690SJung-uk Kim 44a9f12690SJung-uk Kim #ifndef __ACNAMESP_H__ 45a9f12690SJung-uk Kim #define __ACNAMESP_H__ 46a9f12690SJung-uk Kim 47a9f12690SJung-uk Kim 48a9f12690SJung-uk Kim /* To search the entire name space, pass this as SearchBase */ 49a9f12690SJung-uk Kim 50a9f12690SJung-uk Kim #define ACPI_NS_ALL ((ACPI_HANDLE)0) 51a9f12690SJung-uk Kim 52a9f12690SJung-uk Kim /* 53a9f12690SJung-uk Kim * Elements of AcpiNsProperties are bit significant 54a9f12690SJung-uk Kim * and should be one-to-one with values of ACPI_OBJECT_TYPE 55a9f12690SJung-uk Kim */ 56a9f12690SJung-uk Kim #define ACPI_NS_NORMAL 0 57a9f12690SJung-uk Kim #define ACPI_NS_NEWSCOPE 1 /* a definition of this type opens a name scope */ 58a9f12690SJung-uk Kim #define ACPI_NS_LOCAL 2 /* suppress search of enclosing scopes */ 59a9f12690SJung-uk Kim 60a9f12690SJung-uk Kim /* Flags for AcpiNsLookup, AcpiNsSearchAndEnter */ 61a9f12690SJung-uk Kim 62a9f12690SJung-uk Kim #define ACPI_NS_NO_UPSEARCH 0 63a9f12690SJung-uk Kim #define ACPI_NS_SEARCH_PARENT 0x01 64a9f12690SJung-uk Kim #define ACPI_NS_DONT_OPEN_SCOPE 0x02 65a9f12690SJung-uk Kim #define ACPI_NS_NO_PEER_SEARCH 0x04 66a9f12690SJung-uk Kim #define ACPI_NS_ERROR_IF_FOUND 0x08 67a9f12690SJung-uk Kim #define ACPI_NS_PREFIX_IS_SCOPE 0x10 68a9f12690SJung-uk Kim #define ACPI_NS_EXTERNAL 0x20 69a9f12690SJung-uk Kim #define ACPI_NS_TEMPORARY 0x40 70a9f12690SJung-uk Kim 71a9f12690SJung-uk Kim /* Flags for AcpiNsWalkNamespace */ 72a9f12690SJung-uk Kim 73a9f12690SJung-uk Kim #define ACPI_NS_WALK_NO_UNLOCK 0 74a9f12690SJung-uk Kim #define ACPI_NS_WALK_UNLOCK 0x01 75a9f12690SJung-uk Kim #define ACPI_NS_WALK_TEMP_NODES 0x02 76a9f12690SJung-uk Kim 77d6dd1baeSJung-uk Kim /* Object is not a package element */ 78d6dd1baeSJung-uk Kim 79d6dd1baeSJung-uk Kim #define ACPI_NOT_PACKAGE_ELEMENT ACPI_UINT32_MAX 80d6dd1baeSJung-uk Kim 81d6dd1baeSJung-uk Kim /* Always emit warning message, not dependent on node flags */ 82d6dd1baeSJung-uk Kim 83d6dd1baeSJung-uk Kim #define ACPI_WARN_ALWAYS 0 84d6dd1baeSJung-uk Kim 85a9f12690SJung-uk Kim 86a9f12690SJung-uk Kim /* 87a9f12690SJung-uk Kim * nsinit - Namespace initialization 88a9f12690SJung-uk Kim */ 89a9f12690SJung-uk Kim ACPI_STATUS 90a9f12690SJung-uk Kim AcpiNsInitializeObjects ( 91a9f12690SJung-uk Kim void); 92a9f12690SJung-uk Kim 93a9f12690SJung-uk Kim ACPI_STATUS 94a9f12690SJung-uk Kim AcpiNsInitializeDevices ( 95a9f12690SJung-uk Kim void); 96a9f12690SJung-uk Kim 97a9f12690SJung-uk Kim 98a9f12690SJung-uk Kim /* 99a9f12690SJung-uk Kim * nsload - Namespace loading 100a9f12690SJung-uk Kim */ 101a9f12690SJung-uk Kim ACPI_STATUS 102a9f12690SJung-uk Kim AcpiNsLoadNamespace ( 103a9f12690SJung-uk Kim void); 104a9f12690SJung-uk Kim 105a9f12690SJung-uk Kim ACPI_STATUS 106a9f12690SJung-uk Kim AcpiNsLoadTable ( 107a9f12690SJung-uk Kim UINT32 TableIndex, 108a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 109a9f12690SJung-uk Kim 110a9f12690SJung-uk Kim 111a9f12690SJung-uk Kim /* 112a9f12690SJung-uk Kim * nswalk - walk the namespace 113a9f12690SJung-uk Kim */ 114a9f12690SJung-uk Kim ACPI_STATUS 115a9f12690SJung-uk Kim AcpiNsWalkNamespace ( 116a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 117a9f12690SJung-uk Kim ACPI_HANDLE StartObject, 118a9f12690SJung-uk Kim UINT32 MaxDepth, 119a9f12690SJung-uk Kim UINT32 Flags, 1202272d050SJung-uk Kim ACPI_WALK_CALLBACK PreOrderVisit, 1212272d050SJung-uk Kim ACPI_WALK_CALLBACK PostOrderVisit, 122a9f12690SJung-uk Kim void *Context, 123a9f12690SJung-uk Kim void **ReturnValue); 124a9f12690SJung-uk Kim 125a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 126a9f12690SJung-uk Kim AcpiNsGetNextNode ( 127a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 128a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 129a9f12690SJung-uk Kim 130a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 131a9f12690SJung-uk Kim AcpiNsGetNextNodeTyped ( 132a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 133a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 134a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 135a9f12690SJung-uk Kim 136a9f12690SJung-uk Kim /* 137a9f12690SJung-uk Kim * nsparse - table parsing 138a9f12690SJung-uk Kim */ 139a9f12690SJung-uk Kim ACPI_STATUS 140a9f12690SJung-uk Kim AcpiNsParseTable ( 141a9f12690SJung-uk Kim UINT32 TableIndex, 142a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 143a9f12690SJung-uk Kim 144a9f12690SJung-uk Kim ACPI_STATUS 145a9f12690SJung-uk Kim AcpiNsOneCompleteParse ( 146a9f12690SJung-uk Kim UINT32 PassNumber, 147a9f12690SJung-uk Kim UINT32 TableIndex, 148a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 149a9f12690SJung-uk Kim 150a9f12690SJung-uk Kim 151a9f12690SJung-uk Kim /* 152a9f12690SJung-uk Kim * nsaccess - Top-level namespace access 153a9f12690SJung-uk Kim */ 154a9f12690SJung-uk Kim ACPI_STATUS 155a9f12690SJung-uk Kim AcpiNsRootInitialize ( 156a9f12690SJung-uk Kim void); 157a9f12690SJung-uk Kim 158a9f12690SJung-uk Kim ACPI_STATUS 159a9f12690SJung-uk Kim AcpiNsLookup ( 160a9f12690SJung-uk Kim ACPI_GENERIC_STATE *ScopeInfo, 161a9f12690SJung-uk Kim char *Name, 162a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 163a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 164a9f12690SJung-uk Kim UINT32 Flags, 165a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 166a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 167a9f12690SJung-uk Kim 168a9f12690SJung-uk Kim 169a9f12690SJung-uk Kim /* 170a9f12690SJung-uk Kim * nsalloc - Named object allocation/deallocation 171a9f12690SJung-uk Kim */ 172a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 173a9f12690SJung-uk Kim AcpiNsCreateNode ( 174a9f12690SJung-uk Kim UINT32 Name); 175a9f12690SJung-uk Kim 176a9f12690SJung-uk Kim void 177a9f12690SJung-uk Kim AcpiNsDeleteNode ( 178a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 179a9f12690SJung-uk Kim 180a9f12690SJung-uk Kim void 181d6dd1baeSJung-uk Kim AcpiNsRemoveNode ( 182d6dd1baeSJung-uk Kim ACPI_NAMESPACE_NODE *Node); 183d6dd1baeSJung-uk Kim 184d6dd1baeSJung-uk Kim void 185a9f12690SJung-uk Kim AcpiNsDeleteNamespaceSubtree ( 186a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentHandle); 187a9f12690SJung-uk Kim 188a9f12690SJung-uk Kim void 189a9f12690SJung-uk Kim AcpiNsDeleteNamespaceByOwner ( 190a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId); 191a9f12690SJung-uk Kim 192a9f12690SJung-uk Kim void 193a9f12690SJung-uk Kim AcpiNsDetachObject ( 194a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 195a9f12690SJung-uk Kim 196a9f12690SJung-uk Kim void 197a9f12690SJung-uk Kim AcpiNsDeleteChildren ( 198a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent); 199a9f12690SJung-uk Kim 200a9f12690SJung-uk Kim int 201a9f12690SJung-uk Kim AcpiNsCompareNames ( 202a9f12690SJung-uk Kim char *Name1, 203a9f12690SJung-uk Kim char *Name2); 204a9f12690SJung-uk Kim 205a9f12690SJung-uk Kim 206a9f12690SJung-uk Kim /* 207a9f12690SJung-uk Kim * nsdump - Namespace dump/print utilities 208a9f12690SJung-uk Kim */ 209a9f12690SJung-uk Kim void 210a9f12690SJung-uk Kim AcpiNsDumpTables ( 211a9f12690SJung-uk Kim ACPI_HANDLE SearchBase, 212a9f12690SJung-uk Kim UINT32 MaxDepth); 213a9f12690SJung-uk Kim 214a9f12690SJung-uk Kim void 215a9f12690SJung-uk Kim AcpiNsDumpEntry ( 216a9f12690SJung-uk Kim ACPI_HANDLE Handle, 217a9f12690SJung-uk Kim UINT32 DebugLevel); 218a9f12690SJung-uk Kim 219a9f12690SJung-uk Kim void 220a9f12690SJung-uk Kim AcpiNsDumpPathname ( 221a9f12690SJung-uk Kim ACPI_HANDLE Handle, 222a9f12690SJung-uk Kim char *Msg, 223a9f12690SJung-uk Kim UINT32 Level, 224a9f12690SJung-uk Kim UINT32 Component); 225a9f12690SJung-uk Kim 226a9f12690SJung-uk Kim void 227a9f12690SJung-uk Kim AcpiNsPrintPathname ( 228a9f12690SJung-uk Kim UINT32 NumSegments, 229a9f12690SJung-uk Kim char *Pathname); 230a9f12690SJung-uk Kim 231a9f12690SJung-uk Kim ACPI_STATUS 232a9f12690SJung-uk Kim AcpiNsDumpOneObject ( 233a9f12690SJung-uk Kim ACPI_HANDLE ObjHandle, 234a9f12690SJung-uk Kim UINT32 Level, 235a9f12690SJung-uk Kim void *Context, 236a9f12690SJung-uk Kim void **ReturnValue); 237a9f12690SJung-uk Kim 238a9f12690SJung-uk Kim void 239a9f12690SJung-uk Kim AcpiNsDumpObjects ( 240a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 241a9f12690SJung-uk Kim UINT8 DisplayType, 242a9f12690SJung-uk Kim UINT32 MaxDepth, 243a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId, 244a9f12690SJung-uk Kim ACPI_HANDLE StartHandle); 245a9f12690SJung-uk Kim 246a9f12690SJung-uk Kim 247a9f12690SJung-uk Kim /* 248a9f12690SJung-uk Kim * nseval - Namespace evaluation functions 249a9f12690SJung-uk Kim */ 250a9f12690SJung-uk Kim ACPI_STATUS 251a9f12690SJung-uk Kim AcpiNsEvaluate ( 252a9f12690SJung-uk Kim ACPI_EVALUATE_INFO *Info); 253a9f12690SJung-uk Kim 254d6dd1baeSJung-uk Kim void 255d6dd1baeSJung-uk Kim AcpiNsExecModuleCodeList ( 256d6dd1baeSJung-uk Kim void); 257d6dd1baeSJung-uk Kim 258a9f12690SJung-uk Kim 259a9f12690SJung-uk Kim /* 260a9f12690SJung-uk Kim * nspredef - Support for predefined/reserved names 261a9f12690SJung-uk Kim */ 262a9f12690SJung-uk Kim ACPI_STATUS 263a9f12690SJung-uk Kim AcpiNsCheckPredefinedNames ( 264a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 265a9f12690SJung-uk Kim UINT32 UserParamCount, 266a9f12690SJung-uk Kim ACPI_STATUS ReturnStatus, 267a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 268a9f12690SJung-uk Kim 269a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO * 270a9f12690SJung-uk Kim AcpiNsCheckForPredefinedName ( 271a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 272a9f12690SJung-uk Kim 273a9f12690SJung-uk Kim void 274a9f12690SJung-uk Kim AcpiNsCheckParameterCount ( 275a9f12690SJung-uk Kim char *Pathname, 276a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 277a9f12690SJung-uk Kim UINT32 UserParamCount, 278a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO *Info); 279a9f12690SJung-uk Kim 280*efcc2a30SJung-uk Kim ACPI_STATUS 281*efcc2a30SJung-uk Kim AcpiNsCheckObjectType ( 282*efcc2a30SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 283*efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr, 284*efcc2a30SJung-uk Kim UINT32 ExpectedBtypes, 285*efcc2a30SJung-uk Kim UINT32 PackageIndex); 286*efcc2a30SJung-uk Kim 287*efcc2a30SJung-uk Kim 288*efcc2a30SJung-uk Kim /* 289*efcc2a30SJung-uk Kim * nsprepkg - Validation of predefined name packages 290*efcc2a30SJung-uk Kim */ 291*efcc2a30SJung-uk Kim ACPI_STATUS 292*efcc2a30SJung-uk Kim AcpiNsCheckPackage ( 293*efcc2a30SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 294*efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 295*efcc2a30SJung-uk Kim 296a9f12690SJung-uk Kim 297a9f12690SJung-uk Kim /* 298a9f12690SJung-uk Kim * nsnames - Name and Scope manipulation 299a9f12690SJung-uk Kim */ 300a9f12690SJung-uk Kim UINT32 301a9f12690SJung-uk Kim AcpiNsOpensScope ( 302a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 303a9f12690SJung-uk Kim 304a9f12690SJung-uk Kim ACPI_STATUS 305a9f12690SJung-uk Kim AcpiNsBuildExternalPath ( 306a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 307a9f12690SJung-uk Kim ACPI_SIZE Size, 308a9f12690SJung-uk Kim char *NameBuffer); 309a9f12690SJung-uk Kim 310a9f12690SJung-uk Kim char * 311a9f12690SJung-uk Kim AcpiNsGetExternalPathname ( 312a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 313a9f12690SJung-uk Kim 314a9f12690SJung-uk Kim char * 315a9f12690SJung-uk Kim AcpiNsNameOfCurrentScope ( 316a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 317a9f12690SJung-uk Kim 318a9f12690SJung-uk Kim ACPI_STATUS 319a9f12690SJung-uk Kim AcpiNsHandleToPathname ( 320a9f12690SJung-uk Kim ACPI_HANDLE TargetHandle, 321a9f12690SJung-uk Kim ACPI_BUFFER *Buffer); 322a9f12690SJung-uk Kim 323a9f12690SJung-uk Kim BOOLEAN 324a9f12690SJung-uk Kim AcpiNsPatternMatch ( 325a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ObjNode, 326a9f12690SJung-uk Kim char *SearchFor); 327a9f12690SJung-uk Kim 328a9f12690SJung-uk Kim ACPI_STATUS 329a9f12690SJung-uk Kim AcpiNsGetNode ( 330a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *PrefixNode, 331a9f12690SJung-uk Kim const char *ExternalPathname, 332a9f12690SJung-uk Kim UINT32 Flags, 333a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **OutNode); 334a9f12690SJung-uk Kim 335a9f12690SJung-uk Kim ACPI_SIZE 336a9f12690SJung-uk Kim AcpiNsGetPathnameLength ( 337a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 338a9f12690SJung-uk Kim 339a9f12690SJung-uk Kim 340a9f12690SJung-uk Kim /* 341a9f12690SJung-uk Kim * nsobject - Object management for namespace nodes 342a9f12690SJung-uk Kim */ 343a9f12690SJung-uk Kim ACPI_STATUS 344a9f12690SJung-uk Kim AcpiNsAttachObject ( 345a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 346a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 347a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 348a9f12690SJung-uk Kim 349a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 350a9f12690SJung-uk Kim AcpiNsGetAttachedObject ( 351a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 352a9f12690SJung-uk Kim 353a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 354a9f12690SJung-uk Kim AcpiNsGetSecondaryObject ( 355a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 356a9f12690SJung-uk Kim 357a9f12690SJung-uk Kim ACPI_STATUS 358a9f12690SJung-uk Kim AcpiNsAttachData ( 359a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 360a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 361a9f12690SJung-uk Kim void *Data); 362a9f12690SJung-uk Kim 363a9f12690SJung-uk Kim ACPI_STATUS 364a9f12690SJung-uk Kim AcpiNsDetachData ( 365a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 366a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler); 367a9f12690SJung-uk Kim 368a9f12690SJung-uk Kim ACPI_STATUS 369a9f12690SJung-uk Kim AcpiNsGetAttachedData ( 370a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 371a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 372a9f12690SJung-uk Kim void **Data); 373a9f12690SJung-uk Kim 374a9f12690SJung-uk Kim 375a9f12690SJung-uk Kim /* 3762272d050SJung-uk Kim * nsrepair - General return object repair for all 3772272d050SJung-uk Kim * predefined methods/objects 378d6dd1baeSJung-uk Kim */ 379d6dd1baeSJung-uk Kim ACPI_STATUS 380d6dd1baeSJung-uk Kim AcpiNsRepairObject ( 381d6dd1baeSJung-uk Kim ACPI_PREDEFINED_DATA *Data, 382d6dd1baeSJung-uk Kim UINT32 ExpectedBtypes, 383d6dd1baeSJung-uk Kim UINT32 PackageIndex, 384d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 385d6dd1baeSJung-uk Kim 386d6dd1baeSJung-uk Kim ACPI_STATUS 3873f8d720fSJung-uk Kim AcpiNsWrapWithPackage ( 388d6dd1baeSJung-uk Kim ACPI_PREDEFINED_DATA *Data, 3893f8d720fSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 390d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ObjDescPtr); 391d6dd1baeSJung-uk Kim 3929a179dd8SJung-uk Kim ACPI_STATUS 3939a179dd8SJung-uk Kim AcpiNsRepairNullElement ( 3949a179dd8SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 3959a179dd8SJung-uk Kim UINT32 ExpectedBtypes, 3969a179dd8SJung-uk Kim UINT32 PackageIndex, 3979a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 3989a179dd8SJung-uk Kim 3999a179dd8SJung-uk Kim void 4009a179dd8SJung-uk Kim AcpiNsRemoveNullElements ( 4019a179dd8SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 4029a179dd8SJung-uk Kim UINT8 PackageType, 4039a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 4049a179dd8SJung-uk Kim 405d6dd1baeSJung-uk Kim 406d6dd1baeSJung-uk Kim /* 4072272d050SJung-uk Kim * nsrepair2 - Return object repair for specific 4082272d050SJung-uk Kim * predefined methods/objects 4092272d050SJung-uk Kim */ 4102272d050SJung-uk Kim ACPI_STATUS 4112272d050SJung-uk Kim AcpiNsComplexRepairs ( 4122272d050SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 4132272d050SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 4142272d050SJung-uk Kim ACPI_STATUS ValidateStatus, 4152272d050SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4162272d050SJung-uk Kim 4172272d050SJung-uk Kim 4182272d050SJung-uk Kim /* 419a9f12690SJung-uk Kim * nssearch - Namespace searching and entry 420a9f12690SJung-uk Kim */ 421a9f12690SJung-uk Kim ACPI_STATUS 422a9f12690SJung-uk Kim AcpiNsSearchAndEnter ( 423a9f12690SJung-uk Kim UINT32 EntryName, 424a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 425a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 426a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 427a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 428a9f12690SJung-uk Kim UINT32 Flags, 429a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 430a9f12690SJung-uk Kim 431a9f12690SJung-uk Kim ACPI_STATUS 432a9f12690SJung-uk Kim AcpiNsSearchOneScope ( 433a9f12690SJung-uk Kim UINT32 EntryName, 434a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 435a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 436a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 437a9f12690SJung-uk Kim 438a9f12690SJung-uk Kim void 439a9f12690SJung-uk Kim AcpiNsInstallNode ( 440a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 441a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentNode, 442a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 443a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 444a9f12690SJung-uk Kim 445a9f12690SJung-uk Kim 446a9f12690SJung-uk Kim /* 447a9f12690SJung-uk Kim * nsutils - Utility functions 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 AcpiNsPrintNodePathname ( 459a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 460a9f12690SJung-uk Kim const char *Msg); 461a9f12690SJung-uk Kim 462a9f12690SJung-uk Kim ACPI_STATUS 463a9f12690SJung-uk Kim AcpiNsBuildInternalName ( 464a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 465a9f12690SJung-uk Kim 466a9f12690SJung-uk Kim void 467a9f12690SJung-uk Kim AcpiNsGetInternalNameLength ( 468a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 469a9f12690SJung-uk Kim 470a9f12690SJung-uk Kim ACPI_STATUS 471a9f12690SJung-uk Kim AcpiNsInternalizeName ( 472a9f12690SJung-uk Kim const char *DottedName, 473a9f12690SJung-uk Kim char **ConvertedName); 474a9f12690SJung-uk Kim 475a9f12690SJung-uk Kim ACPI_STATUS 476a9f12690SJung-uk Kim AcpiNsExternalizeName ( 477a9f12690SJung-uk Kim UINT32 InternalNameLength, 478a9f12690SJung-uk Kim const char *InternalName, 479a9f12690SJung-uk Kim UINT32 *ConvertedNameLength, 480a9f12690SJung-uk Kim char **ConvertedName); 481a9f12690SJung-uk Kim 482a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 483572c8255SJung-uk Kim AcpiNsValidateHandle ( 484a9f12690SJung-uk Kim ACPI_HANDLE Handle); 485a9f12690SJung-uk Kim 486a9f12690SJung-uk Kim void 487a9f12690SJung-uk Kim AcpiNsTerminate ( 488a9f12690SJung-uk Kim void); 489a9f12690SJung-uk Kim 490a9f12690SJung-uk Kim #endif /* __ACNAMESP_H__ */ 491