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, 120*bf6fac21SJung-uk Kim ACPI_WALK_CALLBACK DescendingCallback, 121*bf6fac21SJung-uk Kim ACPI_WALK_CALLBACK AscendingCallback, 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 /* 2079c48c75eSJung-uk Kim * nsconvert - Dynamic object conversion routines 2089c48c75eSJung-uk Kim */ 2099c48c75eSJung-uk Kim ACPI_STATUS 2109c48c75eSJung-uk Kim AcpiNsConvertToInteger ( 2119c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2129c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2139c48c75eSJung-uk Kim 2149c48c75eSJung-uk Kim ACPI_STATUS 2159c48c75eSJung-uk Kim AcpiNsConvertToString ( 2169c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2179c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2189c48c75eSJung-uk Kim 2199c48c75eSJung-uk Kim ACPI_STATUS 2209c48c75eSJung-uk Kim AcpiNsConvertToBuffer ( 2219c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2229c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2239c48c75eSJung-uk Kim 2249c48c75eSJung-uk Kim ACPI_STATUS 2259c48c75eSJung-uk Kim AcpiNsConvertToUnicode ( 2269c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2279c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2289c48c75eSJung-uk Kim 2299c48c75eSJung-uk Kim ACPI_STATUS 2309c48c75eSJung-uk Kim AcpiNsConvertToResource ( 2319c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2329c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2339c48c75eSJung-uk Kim 2349c48c75eSJung-uk Kim 2359c48c75eSJung-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 /* 289895f26a9SJung-uk Kim * nsarguments - Argument count/type checking for predefined/reserved names 290a9f12690SJung-uk Kim */ 291a9f12690SJung-uk Kim void 292895f26a9SJung-uk Kim AcpiNsCheckArgumentCount ( 293a9f12690SJung-uk Kim char *Pathname, 294a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 295a9f12690SJung-uk Kim UINT32 UserParamCount, 296a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO *Info); 297a9f12690SJung-uk Kim 298895f26a9SJung-uk Kim void 299895f26a9SJung-uk Kim AcpiNsCheckAcpiCompliance ( 300895f26a9SJung-uk Kim char *Pathname, 301895f26a9SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 302895f26a9SJung-uk Kim const ACPI_PREDEFINED_INFO *Predefined); 303895f26a9SJung-uk Kim 304895f26a9SJung-uk Kim void 305895f26a9SJung-uk Kim AcpiNsCheckArgumentTypes ( 306895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info); 307895f26a9SJung-uk Kim 308895f26a9SJung-uk Kim 309895f26a9SJung-uk Kim /* 310895f26a9SJung-uk Kim * nspredef - Return value checking for predefined/reserved names 311895f26a9SJung-uk Kim */ 312895f26a9SJung-uk Kim ACPI_STATUS 313895f26a9SJung-uk Kim AcpiNsCheckReturnValue ( 314895f26a9SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 315895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 316895f26a9SJung-uk Kim UINT32 UserParamCount, 317895f26a9SJung-uk Kim ACPI_STATUS ReturnStatus, 318895f26a9SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 319895f26a9SJung-uk Kim 320efcc2a30SJung-uk Kim ACPI_STATUS 321efcc2a30SJung-uk Kim AcpiNsCheckObjectType ( 322895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 323efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr, 324efcc2a30SJung-uk Kim UINT32 ExpectedBtypes, 325efcc2a30SJung-uk Kim UINT32 PackageIndex); 326efcc2a30SJung-uk Kim 327efcc2a30SJung-uk Kim 328efcc2a30SJung-uk Kim /* 329efcc2a30SJung-uk Kim * nsprepkg - Validation of predefined name packages 330efcc2a30SJung-uk Kim */ 331efcc2a30SJung-uk Kim ACPI_STATUS 332efcc2a30SJung-uk Kim AcpiNsCheckPackage ( 333895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 334efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 335efcc2a30SJung-uk Kim 336a9f12690SJung-uk Kim 337a9f12690SJung-uk Kim /* 338a9f12690SJung-uk Kim * nsnames - Name and Scope manipulation 339a9f12690SJung-uk Kim */ 340a9f12690SJung-uk Kim UINT32 341a9f12690SJung-uk Kim AcpiNsOpensScope ( 342a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 343a9f12690SJung-uk Kim 344a9f12690SJung-uk Kim ACPI_STATUS 345a9f12690SJung-uk Kim AcpiNsBuildExternalPath ( 346a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 347a9f12690SJung-uk Kim ACPI_SIZE Size, 348a9f12690SJung-uk Kim char *NameBuffer); 349a9f12690SJung-uk Kim 350a9f12690SJung-uk Kim char * 351a9f12690SJung-uk Kim AcpiNsGetExternalPathname ( 352a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 353a9f12690SJung-uk Kim 354a9f12690SJung-uk Kim char * 355a9f12690SJung-uk Kim AcpiNsNameOfCurrentScope ( 356a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 357a9f12690SJung-uk Kim 358a9f12690SJung-uk Kim ACPI_STATUS 359a9f12690SJung-uk Kim AcpiNsHandleToPathname ( 360a9f12690SJung-uk Kim ACPI_HANDLE TargetHandle, 361a9f12690SJung-uk Kim ACPI_BUFFER *Buffer); 362a9f12690SJung-uk Kim 363a9f12690SJung-uk Kim BOOLEAN 364a9f12690SJung-uk Kim AcpiNsPatternMatch ( 365a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ObjNode, 366a9f12690SJung-uk Kim char *SearchFor); 367a9f12690SJung-uk Kim 368a9f12690SJung-uk Kim ACPI_STATUS 369a9f12690SJung-uk Kim AcpiNsGetNode ( 370a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *PrefixNode, 371a9f12690SJung-uk Kim const char *ExternalPathname, 372a9f12690SJung-uk Kim UINT32 Flags, 373a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **OutNode); 374a9f12690SJung-uk Kim 375a9f12690SJung-uk Kim ACPI_SIZE 376a9f12690SJung-uk Kim AcpiNsGetPathnameLength ( 377a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 378a9f12690SJung-uk Kim 379a9f12690SJung-uk Kim 380a9f12690SJung-uk Kim /* 381a9f12690SJung-uk Kim * nsobject - Object management for namespace nodes 382a9f12690SJung-uk Kim */ 383a9f12690SJung-uk Kim ACPI_STATUS 384a9f12690SJung-uk Kim AcpiNsAttachObject ( 385a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 386a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 387a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 388a9f12690SJung-uk Kim 389a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 390a9f12690SJung-uk Kim AcpiNsGetAttachedObject ( 391a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 392a9f12690SJung-uk Kim 393a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 394a9f12690SJung-uk Kim AcpiNsGetSecondaryObject ( 395a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 396a9f12690SJung-uk Kim 397a9f12690SJung-uk Kim ACPI_STATUS 398a9f12690SJung-uk Kim AcpiNsAttachData ( 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 ACPI_STATUS 404a9f12690SJung-uk Kim AcpiNsDetachData ( 405a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 406a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler); 407a9f12690SJung-uk Kim 408a9f12690SJung-uk Kim ACPI_STATUS 409a9f12690SJung-uk Kim AcpiNsGetAttachedData ( 410a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 411a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 412a9f12690SJung-uk Kim void **Data); 413a9f12690SJung-uk Kim 414a9f12690SJung-uk Kim 415a9f12690SJung-uk Kim /* 4162272d050SJung-uk Kim * nsrepair - General return object repair for all 4172272d050SJung-uk Kim * predefined methods/objects 418d6dd1baeSJung-uk Kim */ 419d6dd1baeSJung-uk Kim ACPI_STATUS 4209c48c75eSJung-uk Kim AcpiNsSimpleRepair ( 421895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 422d6dd1baeSJung-uk Kim UINT32 ExpectedBtypes, 423d6dd1baeSJung-uk Kim UINT32 PackageIndex, 424d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 425d6dd1baeSJung-uk Kim 426d6dd1baeSJung-uk Kim ACPI_STATUS 4273f8d720fSJung-uk Kim AcpiNsWrapWithPackage ( 428895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4293f8d720fSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 430d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ObjDescPtr); 431d6dd1baeSJung-uk Kim 4329a179dd8SJung-uk Kim ACPI_STATUS 4339a179dd8SJung-uk Kim AcpiNsRepairNullElement ( 434895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4359a179dd8SJung-uk Kim UINT32 ExpectedBtypes, 4369a179dd8SJung-uk Kim UINT32 PackageIndex, 4379a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4389a179dd8SJung-uk Kim 4399a179dd8SJung-uk Kim void 4409a179dd8SJung-uk Kim AcpiNsRemoveNullElements ( 441895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4429a179dd8SJung-uk Kim UINT8 PackageType, 4439a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 4449a179dd8SJung-uk Kim 445d6dd1baeSJung-uk Kim 446d6dd1baeSJung-uk Kim /* 4472272d050SJung-uk Kim * nsrepair2 - Return object repair for specific 4482272d050SJung-uk Kim * predefined methods/objects 4492272d050SJung-uk Kim */ 4502272d050SJung-uk Kim ACPI_STATUS 4512272d050SJung-uk Kim AcpiNsComplexRepairs ( 452895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4532272d050SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 4542272d050SJung-uk Kim ACPI_STATUS ValidateStatus, 4552272d050SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4562272d050SJung-uk Kim 4572272d050SJung-uk Kim 4582272d050SJung-uk Kim /* 459a9f12690SJung-uk Kim * nssearch - Namespace searching and entry 460a9f12690SJung-uk Kim */ 461a9f12690SJung-uk Kim ACPI_STATUS 462a9f12690SJung-uk Kim AcpiNsSearchAndEnter ( 463a9f12690SJung-uk Kim UINT32 EntryName, 464a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 465a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 466a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 467a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 468a9f12690SJung-uk Kim UINT32 Flags, 469a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 470a9f12690SJung-uk Kim 471a9f12690SJung-uk Kim ACPI_STATUS 472a9f12690SJung-uk Kim AcpiNsSearchOneScope ( 473a9f12690SJung-uk Kim UINT32 EntryName, 474a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 475a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 476a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 477a9f12690SJung-uk Kim 478a9f12690SJung-uk Kim void 479a9f12690SJung-uk Kim AcpiNsInstallNode ( 480a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 481a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentNode, 482a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 483a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 484a9f12690SJung-uk Kim 485a9f12690SJung-uk Kim 486a9f12690SJung-uk Kim /* 487a9f12690SJung-uk Kim * nsutils - Utility functions 488a9f12690SJung-uk Kim */ 489a9f12690SJung-uk Kim ACPI_OBJECT_TYPE 490a9f12690SJung-uk Kim AcpiNsGetType ( 491a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 492a9f12690SJung-uk Kim 493a9f12690SJung-uk Kim UINT32 494a9f12690SJung-uk Kim AcpiNsLocal ( 495a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 496a9f12690SJung-uk Kim 497a9f12690SJung-uk Kim void 498a9f12690SJung-uk Kim AcpiNsPrintNodePathname ( 499a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 500a9f12690SJung-uk Kim const char *Msg); 501a9f12690SJung-uk Kim 502a9f12690SJung-uk Kim ACPI_STATUS 503a9f12690SJung-uk Kim AcpiNsBuildInternalName ( 504a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 505a9f12690SJung-uk Kim 506a9f12690SJung-uk Kim void 507a9f12690SJung-uk Kim AcpiNsGetInternalNameLength ( 508a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 509a9f12690SJung-uk Kim 510a9f12690SJung-uk Kim ACPI_STATUS 511a9f12690SJung-uk Kim AcpiNsInternalizeName ( 512a9f12690SJung-uk Kim const char *DottedName, 513a9f12690SJung-uk Kim char **ConvertedName); 514a9f12690SJung-uk Kim 515a9f12690SJung-uk Kim ACPI_STATUS 516a9f12690SJung-uk Kim AcpiNsExternalizeName ( 517a9f12690SJung-uk Kim UINT32 InternalNameLength, 518a9f12690SJung-uk Kim const char *InternalName, 519a9f12690SJung-uk Kim UINT32 *ConvertedNameLength, 520a9f12690SJung-uk Kim char **ConvertedName); 521a9f12690SJung-uk Kim 522a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 523572c8255SJung-uk Kim AcpiNsValidateHandle ( 524a9f12690SJung-uk Kim ACPI_HANDLE Handle); 525a9f12690SJung-uk Kim 526a9f12690SJung-uk Kim void 527a9f12690SJung-uk Kim AcpiNsTerminate ( 528a9f12690SJung-uk Kim void); 529a9f12690SJung-uk Kim 530a9f12690SJung-uk Kim #endif /* __ACNAMESP_H__ */ 531