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 /* 8efcc2a30SJung-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 /* 207*9c48c75eSJung-uk Kim * nsconvert - Dynamic object conversion routines 208*9c48c75eSJung-uk Kim */ 209*9c48c75eSJung-uk Kim ACPI_STATUS 210*9c48c75eSJung-uk Kim AcpiNsConvertToInteger ( 211*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 212*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 213*9c48c75eSJung-uk Kim 214*9c48c75eSJung-uk Kim ACPI_STATUS 215*9c48c75eSJung-uk Kim AcpiNsConvertToString ( 216*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 217*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 218*9c48c75eSJung-uk Kim 219*9c48c75eSJung-uk Kim ACPI_STATUS 220*9c48c75eSJung-uk Kim AcpiNsConvertToBuffer ( 221*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 222*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 223*9c48c75eSJung-uk Kim 224*9c48c75eSJung-uk Kim ACPI_STATUS 225*9c48c75eSJung-uk Kim AcpiNsConvertToUnicode ( 226*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 227*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 228*9c48c75eSJung-uk Kim 229*9c48c75eSJung-uk Kim ACPI_STATUS 230*9c48c75eSJung-uk Kim AcpiNsConvertToResource ( 231*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 232*9c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 233*9c48c75eSJung-uk Kim 234*9c48c75eSJung-uk Kim 235*9c48c75eSJung-uk Kim /* 236a9f12690SJung-uk Kim * nsdump - Namespace dump/print utilities 237a9f12690SJung-uk Kim */ 238a9f12690SJung-uk Kim void 239a9f12690SJung-uk Kim AcpiNsDumpTables ( 240a9f12690SJung-uk Kim ACPI_HANDLE SearchBase, 241a9f12690SJung-uk Kim UINT32 MaxDepth); 242a9f12690SJung-uk Kim 243a9f12690SJung-uk Kim void 244a9f12690SJung-uk Kim AcpiNsDumpEntry ( 245a9f12690SJung-uk Kim ACPI_HANDLE Handle, 246a9f12690SJung-uk Kim UINT32 DebugLevel); 247a9f12690SJung-uk Kim 248a9f12690SJung-uk Kim void 249a9f12690SJung-uk Kim AcpiNsDumpPathname ( 250a9f12690SJung-uk Kim ACPI_HANDLE Handle, 251a9f12690SJung-uk Kim char *Msg, 252a9f12690SJung-uk Kim UINT32 Level, 253a9f12690SJung-uk Kim UINT32 Component); 254a9f12690SJung-uk Kim 255a9f12690SJung-uk Kim void 256a9f12690SJung-uk Kim AcpiNsPrintPathname ( 257a9f12690SJung-uk Kim UINT32 NumSegments, 258a9f12690SJung-uk Kim char *Pathname); 259a9f12690SJung-uk Kim 260a9f12690SJung-uk Kim ACPI_STATUS 261a9f12690SJung-uk Kim AcpiNsDumpOneObject ( 262a9f12690SJung-uk Kim ACPI_HANDLE ObjHandle, 263a9f12690SJung-uk Kim UINT32 Level, 264a9f12690SJung-uk Kim void *Context, 265a9f12690SJung-uk Kim void **ReturnValue); 266a9f12690SJung-uk Kim 267a9f12690SJung-uk Kim void 268a9f12690SJung-uk Kim AcpiNsDumpObjects ( 269a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 270a9f12690SJung-uk Kim UINT8 DisplayType, 271a9f12690SJung-uk Kim UINT32 MaxDepth, 272a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId, 273a9f12690SJung-uk Kim ACPI_HANDLE StartHandle); 274a9f12690SJung-uk Kim 275a9f12690SJung-uk Kim 276a9f12690SJung-uk Kim /* 277a9f12690SJung-uk Kim * nseval - Namespace evaluation functions 278a9f12690SJung-uk Kim */ 279a9f12690SJung-uk Kim ACPI_STATUS 280a9f12690SJung-uk Kim AcpiNsEvaluate ( 281a9f12690SJung-uk Kim ACPI_EVALUATE_INFO *Info); 282a9f12690SJung-uk Kim 283d6dd1baeSJung-uk Kim void 284d6dd1baeSJung-uk Kim AcpiNsExecModuleCodeList ( 285d6dd1baeSJung-uk Kim void); 286d6dd1baeSJung-uk Kim 287a9f12690SJung-uk Kim 288a9f12690SJung-uk Kim /* 289a9f12690SJung-uk Kim * nspredef - Support for predefined/reserved names 290a9f12690SJung-uk Kim */ 291a9f12690SJung-uk Kim ACPI_STATUS 292a9f12690SJung-uk Kim AcpiNsCheckPredefinedNames ( 293a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 294a9f12690SJung-uk Kim UINT32 UserParamCount, 295a9f12690SJung-uk Kim ACPI_STATUS ReturnStatus, 296a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 297a9f12690SJung-uk Kim 298a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO * 299a9f12690SJung-uk Kim AcpiNsCheckForPredefinedName ( 300a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 301a9f12690SJung-uk Kim 302a9f12690SJung-uk Kim void 303a9f12690SJung-uk Kim AcpiNsCheckParameterCount ( 304a9f12690SJung-uk Kim char *Pathname, 305a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 306a9f12690SJung-uk Kim UINT32 UserParamCount, 307a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO *Info); 308a9f12690SJung-uk Kim 309efcc2a30SJung-uk Kim ACPI_STATUS 310efcc2a30SJung-uk Kim AcpiNsCheckObjectType ( 311efcc2a30SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 312efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr, 313efcc2a30SJung-uk Kim UINT32 ExpectedBtypes, 314efcc2a30SJung-uk Kim UINT32 PackageIndex); 315efcc2a30SJung-uk Kim 316efcc2a30SJung-uk Kim 317efcc2a30SJung-uk Kim /* 318efcc2a30SJung-uk Kim * nsprepkg - Validation of predefined name packages 319efcc2a30SJung-uk Kim */ 320efcc2a30SJung-uk Kim ACPI_STATUS 321efcc2a30SJung-uk Kim AcpiNsCheckPackage ( 322efcc2a30SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 323efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 324efcc2a30SJung-uk Kim 325a9f12690SJung-uk Kim 326a9f12690SJung-uk Kim /* 327a9f12690SJung-uk Kim * nsnames - Name and Scope manipulation 328a9f12690SJung-uk Kim */ 329a9f12690SJung-uk Kim UINT32 330a9f12690SJung-uk Kim AcpiNsOpensScope ( 331a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 332a9f12690SJung-uk Kim 333a9f12690SJung-uk Kim ACPI_STATUS 334a9f12690SJung-uk Kim AcpiNsBuildExternalPath ( 335a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 336a9f12690SJung-uk Kim ACPI_SIZE Size, 337a9f12690SJung-uk Kim char *NameBuffer); 338a9f12690SJung-uk Kim 339a9f12690SJung-uk Kim char * 340a9f12690SJung-uk Kim AcpiNsGetExternalPathname ( 341a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 342a9f12690SJung-uk Kim 343a9f12690SJung-uk Kim char * 344a9f12690SJung-uk Kim AcpiNsNameOfCurrentScope ( 345a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 346a9f12690SJung-uk Kim 347a9f12690SJung-uk Kim ACPI_STATUS 348a9f12690SJung-uk Kim AcpiNsHandleToPathname ( 349a9f12690SJung-uk Kim ACPI_HANDLE TargetHandle, 350a9f12690SJung-uk Kim ACPI_BUFFER *Buffer); 351a9f12690SJung-uk Kim 352a9f12690SJung-uk Kim BOOLEAN 353a9f12690SJung-uk Kim AcpiNsPatternMatch ( 354a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ObjNode, 355a9f12690SJung-uk Kim char *SearchFor); 356a9f12690SJung-uk Kim 357a9f12690SJung-uk Kim ACPI_STATUS 358a9f12690SJung-uk Kim AcpiNsGetNode ( 359a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *PrefixNode, 360a9f12690SJung-uk Kim const char *ExternalPathname, 361a9f12690SJung-uk Kim UINT32 Flags, 362a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **OutNode); 363a9f12690SJung-uk Kim 364a9f12690SJung-uk Kim ACPI_SIZE 365a9f12690SJung-uk Kim AcpiNsGetPathnameLength ( 366a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 367a9f12690SJung-uk Kim 368a9f12690SJung-uk Kim 369a9f12690SJung-uk Kim /* 370a9f12690SJung-uk Kim * nsobject - Object management for namespace nodes 371a9f12690SJung-uk Kim */ 372a9f12690SJung-uk Kim ACPI_STATUS 373a9f12690SJung-uk Kim AcpiNsAttachObject ( 374a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 375a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 376a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 377a9f12690SJung-uk Kim 378a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 379a9f12690SJung-uk Kim AcpiNsGetAttachedObject ( 380a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 381a9f12690SJung-uk Kim 382a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 383a9f12690SJung-uk Kim AcpiNsGetSecondaryObject ( 384a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 385a9f12690SJung-uk Kim 386a9f12690SJung-uk Kim ACPI_STATUS 387a9f12690SJung-uk Kim AcpiNsAttachData ( 388a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 389a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 390a9f12690SJung-uk Kim void *Data); 391a9f12690SJung-uk Kim 392a9f12690SJung-uk Kim ACPI_STATUS 393a9f12690SJung-uk Kim AcpiNsDetachData ( 394a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 395a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler); 396a9f12690SJung-uk Kim 397a9f12690SJung-uk Kim ACPI_STATUS 398a9f12690SJung-uk Kim AcpiNsGetAttachedData ( 399a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 400a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 401a9f12690SJung-uk Kim void **Data); 402a9f12690SJung-uk Kim 403a9f12690SJung-uk Kim 404a9f12690SJung-uk Kim /* 4052272d050SJung-uk Kim * nsrepair - General return object repair for all 4062272d050SJung-uk Kim * predefined methods/objects 407d6dd1baeSJung-uk Kim */ 408d6dd1baeSJung-uk Kim ACPI_STATUS 409*9c48c75eSJung-uk Kim AcpiNsSimpleRepair ( 410d6dd1baeSJung-uk Kim ACPI_PREDEFINED_DATA *Data, 411d6dd1baeSJung-uk Kim UINT32 ExpectedBtypes, 412d6dd1baeSJung-uk Kim UINT32 PackageIndex, 413d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 414d6dd1baeSJung-uk Kim 415d6dd1baeSJung-uk Kim ACPI_STATUS 4163f8d720fSJung-uk Kim AcpiNsWrapWithPackage ( 417d6dd1baeSJung-uk Kim ACPI_PREDEFINED_DATA *Data, 4183f8d720fSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 419d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ObjDescPtr); 420d6dd1baeSJung-uk Kim 4219a179dd8SJung-uk Kim ACPI_STATUS 4229a179dd8SJung-uk Kim AcpiNsRepairNullElement ( 4239a179dd8SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 4249a179dd8SJung-uk Kim UINT32 ExpectedBtypes, 4259a179dd8SJung-uk Kim UINT32 PackageIndex, 4269a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4279a179dd8SJung-uk Kim 4289a179dd8SJung-uk Kim void 4299a179dd8SJung-uk Kim AcpiNsRemoveNullElements ( 4309a179dd8SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 4319a179dd8SJung-uk Kim UINT8 PackageType, 4329a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 4339a179dd8SJung-uk Kim 434d6dd1baeSJung-uk Kim 435d6dd1baeSJung-uk Kim /* 4362272d050SJung-uk Kim * nsrepair2 - Return object repair for specific 4372272d050SJung-uk Kim * predefined methods/objects 4382272d050SJung-uk Kim */ 4392272d050SJung-uk Kim ACPI_STATUS 4402272d050SJung-uk Kim AcpiNsComplexRepairs ( 4412272d050SJung-uk Kim ACPI_PREDEFINED_DATA *Data, 4422272d050SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 4432272d050SJung-uk Kim ACPI_STATUS ValidateStatus, 4442272d050SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4452272d050SJung-uk Kim 4462272d050SJung-uk Kim 4472272d050SJung-uk Kim /* 448a9f12690SJung-uk Kim * nssearch - Namespace searching and entry 449a9f12690SJung-uk Kim */ 450a9f12690SJung-uk Kim ACPI_STATUS 451a9f12690SJung-uk Kim AcpiNsSearchAndEnter ( 452a9f12690SJung-uk Kim UINT32 EntryName, 453a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 454a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 455a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 456a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 457a9f12690SJung-uk Kim UINT32 Flags, 458a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 459a9f12690SJung-uk Kim 460a9f12690SJung-uk Kim ACPI_STATUS 461a9f12690SJung-uk Kim AcpiNsSearchOneScope ( 462a9f12690SJung-uk Kim UINT32 EntryName, 463a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 464a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 465a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 466a9f12690SJung-uk Kim 467a9f12690SJung-uk Kim void 468a9f12690SJung-uk Kim AcpiNsInstallNode ( 469a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 470a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentNode, 471a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 472a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 473a9f12690SJung-uk Kim 474a9f12690SJung-uk Kim 475a9f12690SJung-uk Kim /* 476a9f12690SJung-uk Kim * nsutils - Utility functions 477a9f12690SJung-uk Kim */ 478a9f12690SJung-uk Kim ACPI_OBJECT_TYPE 479a9f12690SJung-uk Kim AcpiNsGetType ( 480a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 481a9f12690SJung-uk Kim 482a9f12690SJung-uk Kim UINT32 483a9f12690SJung-uk Kim AcpiNsLocal ( 484a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 485a9f12690SJung-uk Kim 486a9f12690SJung-uk Kim void 487a9f12690SJung-uk Kim AcpiNsPrintNodePathname ( 488a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 489a9f12690SJung-uk Kim const char *Msg); 490a9f12690SJung-uk Kim 491a9f12690SJung-uk Kim ACPI_STATUS 492a9f12690SJung-uk Kim AcpiNsBuildInternalName ( 493a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 494a9f12690SJung-uk Kim 495a9f12690SJung-uk Kim void 496a9f12690SJung-uk Kim AcpiNsGetInternalNameLength ( 497a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 498a9f12690SJung-uk Kim 499a9f12690SJung-uk Kim ACPI_STATUS 500a9f12690SJung-uk Kim AcpiNsInternalizeName ( 501a9f12690SJung-uk Kim const char *DottedName, 502a9f12690SJung-uk Kim char **ConvertedName); 503a9f12690SJung-uk Kim 504a9f12690SJung-uk Kim ACPI_STATUS 505a9f12690SJung-uk Kim AcpiNsExternalizeName ( 506a9f12690SJung-uk Kim UINT32 InternalNameLength, 507a9f12690SJung-uk Kim const char *InternalName, 508a9f12690SJung-uk Kim UINT32 *ConvertedNameLength, 509a9f12690SJung-uk Kim char **ConvertedName); 510a9f12690SJung-uk Kim 511a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 512572c8255SJung-uk Kim AcpiNsValidateHandle ( 513a9f12690SJung-uk Kim ACPI_HANDLE Handle); 514a9f12690SJung-uk Kim 515a9f12690SJung-uk Kim void 516a9f12690SJung-uk Kim AcpiNsTerminate ( 517a9f12690SJung-uk Kim void); 518a9f12690SJung-uk Kim 519a9f12690SJung-uk Kim #endif /* __ACNAMESP_H__ */ 520