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 /* 81c0e1b6dSJung-uk Kim * Copyright (C) 2000 - 2015, 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 705ef50723SJung-uk Kim #define ACPI_NS_OVERRIDE_IF_FOUND 0x80 71a9f12690SJung-uk Kim 72a9f12690SJung-uk Kim /* Flags for AcpiNsWalkNamespace */ 73a9f12690SJung-uk Kim 74a9f12690SJung-uk Kim #define ACPI_NS_WALK_NO_UNLOCK 0 75a9f12690SJung-uk Kim #define ACPI_NS_WALK_UNLOCK 0x01 76a9f12690SJung-uk Kim #define ACPI_NS_WALK_TEMP_NODES 0x02 77a9f12690SJung-uk Kim 78d6dd1baeSJung-uk Kim /* Object is not a package element */ 79d6dd1baeSJung-uk Kim 80d6dd1baeSJung-uk Kim #define ACPI_NOT_PACKAGE_ELEMENT ACPI_UINT32_MAX 81d6dd1baeSJung-uk Kim 82d6dd1baeSJung-uk Kim /* Always emit warning message, not dependent on node flags */ 83d6dd1baeSJung-uk Kim 84d6dd1baeSJung-uk Kim #define ACPI_WARN_ALWAYS 0 85d6dd1baeSJung-uk Kim 86a9f12690SJung-uk Kim 87a9f12690SJung-uk Kim /* 88a9f12690SJung-uk Kim * nsinit - Namespace initialization 89a9f12690SJung-uk Kim */ 90a9f12690SJung-uk Kim ACPI_STATUS 91a9f12690SJung-uk Kim AcpiNsInitializeObjects ( 92a9f12690SJung-uk Kim void); 93a9f12690SJung-uk Kim 94a9f12690SJung-uk Kim ACPI_STATUS 95a9f12690SJung-uk Kim AcpiNsInitializeDevices ( 96a9f12690SJung-uk Kim void); 97a9f12690SJung-uk Kim 98a9f12690SJung-uk Kim 99a9f12690SJung-uk Kim /* 100a9f12690SJung-uk Kim * nsload - Namespace loading 101a9f12690SJung-uk Kim */ 102a9f12690SJung-uk Kim ACPI_STATUS 103a9f12690SJung-uk Kim AcpiNsLoadNamespace ( 104a9f12690SJung-uk Kim void); 105a9f12690SJung-uk Kim 106a9f12690SJung-uk Kim ACPI_STATUS 107a9f12690SJung-uk Kim AcpiNsLoadTable ( 108a9f12690SJung-uk Kim UINT32 TableIndex, 109a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 110a9f12690SJung-uk Kim 111a9f12690SJung-uk Kim 112a9f12690SJung-uk Kim /* 113a9f12690SJung-uk Kim * nswalk - walk the namespace 114a9f12690SJung-uk Kim */ 115a9f12690SJung-uk Kim ACPI_STATUS 116a9f12690SJung-uk Kim AcpiNsWalkNamespace ( 117a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 118a9f12690SJung-uk Kim ACPI_HANDLE StartObject, 119a9f12690SJung-uk Kim UINT32 MaxDepth, 120a9f12690SJung-uk Kim UINT32 Flags, 121bf6fac21SJung-uk Kim ACPI_WALK_CALLBACK DescendingCallback, 122bf6fac21SJung-uk Kim ACPI_WALK_CALLBACK AscendingCallback, 123a9f12690SJung-uk Kim void *Context, 124a9f12690SJung-uk Kim void **ReturnValue); 125a9f12690SJung-uk Kim 126a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 127a9f12690SJung-uk Kim AcpiNsGetNextNode ( 128a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 129a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 130a9f12690SJung-uk Kim 131a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 132a9f12690SJung-uk Kim AcpiNsGetNextNodeTyped ( 133a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 134a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 135a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 136a9f12690SJung-uk Kim 137a9f12690SJung-uk Kim /* 138a9f12690SJung-uk Kim * nsparse - table parsing 139a9f12690SJung-uk Kim */ 140a9f12690SJung-uk Kim ACPI_STATUS 141a9f12690SJung-uk Kim AcpiNsParseTable ( 142a9f12690SJung-uk Kim UINT32 TableIndex, 143a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 144a9f12690SJung-uk Kim 145a9f12690SJung-uk Kim ACPI_STATUS 146a9f12690SJung-uk Kim AcpiNsOneCompleteParse ( 147a9f12690SJung-uk Kim UINT32 PassNumber, 148a9f12690SJung-uk Kim UINT32 TableIndex, 149a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 150a9f12690SJung-uk Kim 151a9f12690SJung-uk Kim 152a9f12690SJung-uk Kim /* 153a9f12690SJung-uk Kim * nsaccess - Top-level namespace access 154a9f12690SJung-uk Kim */ 155a9f12690SJung-uk Kim ACPI_STATUS 156a9f12690SJung-uk Kim AcpiNsRootInitialize ( 157a9f12690SJung-uk Kim void); 158a9f12690SJung-uk Kim 159a9f12690SJung-uk Kim ACPI_STATUS 160a9f12690SJung-uk Kim AcpiNsLookup ( 161a9f12690SJung-uk Kim ACPI_GENERIC_STATE *ScopeInfo, 162a9f12690SJung-uk Kim char *Name, 163a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 164a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 165a9f12690SJung-uk Kim UINT32 Flags, 166a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 167a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 168a9f12690SJung-uk Kim 169a9f12690SJung-uk Kim 170a9f12690SJung-uk Kim /* 171a9f12690SJung-uk Kim * nsalloc - Named object allocation/deallocation 172a9f12690SJung-uk Kim */ 173a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 174a9f12690SJung-uk Kim AcpiNsCreateNode ( 175a9f12690SJung-uk Kim UINT32 Name); 176a9f12690SJung-uk Kim 177a9f12690SJung-uk Kim void 178a9f12690SJung-uk Kim AcpiNsDeleteNode ( 179a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 180a9f12690SJung-uk Kim 181a9f12690SJung-uk Kim void 182d6dd1baeSJung-uk Kim AcpiNsRemoveNode ( 183d6dd1baeSJung-uk Kim ACPI_NAMESPACE_NODE *Node); 184d6dd1baeSJung-uk Kim 185d6dd1baeSJung-uk Kim void 186a9f12690SJung-uk Kim AcpiNsDeleteNamespaceSubtree ( 187a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentHandle); 188a9f12690SJung-uk Kim 189a9f12690SJung-uk Kim void 190a9f12690SJung-uk Kim AcpiNsDeleteNamespaceByOwner ( 191a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId); 192a9f12690SJung-uk Kim 193a9f12690SJung-uk Kim void 194a9f12690SJung-uk Kim AcpiNsDetachObject ( 195a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 196a9f12690SJung-uk Kim 197a9f12690SJung-uk Kim void 198a9f12690SJung-uk Kim AcpiNsDeleteChildren ( 199a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent); 200a9f12690SJung-uk Kim 201a9f12690SJung-uk Kim int 202a9f12690SJung-uk Kim AcpiNsCompareNames ( 203a9f12690SJung-uk Kim char *Name1, 204a9f12690SJung-uk Kim char *Name2); 205a9f12690SJung-uk Kim 206a9f12690SJung-uk Kim 207a9f12690SJung-uk Kim /* 2089c48c75eSJung-uk Kim * nsconvert - Dynamic object conversion routines 2099c48c75eSJung-uk Kim */ 2109c48c75eSJung-uk Kim ACPI_STATUS 2119c48c75eSJung-uk Kim AcpiNsConvertToInteger ( 2129c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2139c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2149c48c75eSJung-uk Kim 2159c48c75eSJung-uk Kim ACPI_STATUS 2169c48c75eSJung-uk Kim AcpiNsConvertToString ( 2179c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2189c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2199c48c75eSJung-uk Kim 2209c48c75eSJung-uk Kim ACPI_STATUS 2219c48c75eSJung-uk Kim AcpiNsConvertToBuffer ( 2229c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2239c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2249c48c75eSJung-uk Kim 2259c48c75eSJung-uk Kim ACPI_STATUS 2269c48c75eSJung-uk Kim AcpiNsConvertToUnicode ( 2279c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2289c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2299c48c75eSJung-uk Kim 2309c48c75eSJung-uk Kim ACPI_STATUS 2319c48c75eSJung-uk Kim AcpiNsConvertToResource ( 2329c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2339c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2349c48c75eSJung-uk Kim 2359c48c75eSJung-uk Kim 2369c48c75eSJung-uk Kim /* 237a9f12690SJung-uk Kim * nsdump - Namespace dump/print utilities 238a9f12690SJung-uk Kim */ 239a9f12690SJung-uk Kim void 240a9f12690SJung-uk Kim AcpiNsDumpTables ( 241a9f12690SJung-uk Kim ACPI_HANDLE SearchBase, 242a9f12690SJung-uk Kim UINT32 MaxDepth); 243a9f12690SJung-uk Kim 244a9f12690SJung-uk Kim void 245a9f12690SJung-uk Kim AcpiNsDumpEntry ( 246a9f12690SJung-uk Kim ACPI_HANDLE Handle, 247a9f12690SJung-uk Kim UINT32 DebugLevel); 248a9f12690SJung-uk Kim 249a9f12690SJung-uk Kim void 250a9f12690SJung-uk Kim AcpiNsDumpPathname ( 251a9f12690SJung-uk Kim ACPI_HANDLE Handle, 252a9f12690SJung-uk Kim char *Msg, 253a9f12690SJung-uk Kim UINT32 Level, 254a9f12690SJung-uk Kim UINT32 Component); 255a9f12690SJung-uk Kim 256a9f12690SJung-uk Kim void 257a9f12690SJung-uk Kim AcpiNsPrintPathname ( 258a9f12690SJung-uk Kim UINT32 NumSegments, 259a9f12690SJung-uk Kim char *Pathname); 260a9f12690SJung-uk Kim 261a9f12690SJung-uk Kim ACPI_STATUS 262a9f12690SJung-uk Kim AcpiNsDumpOneObject ( 263a9f12690SJung-uk Kim ACPI_HANDLE ObjHandle, 264a9f12690SJung-uk Kim UINT32 Level, 265a9f12690SJung-uk Kim void *Context, 266a9f12690SJung-uk Kim void **ReturnValue); 267a9f12690SJung-uk Kim 268a9f12690SJung-uk Kim void 269a9f12690SJung-uk Kim AcpiNsDumpObjects ( 270a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 271a9f12690SJung-uk Kim UINT8 DisplayType, 272a9f12690SJung-uk Kim UINT32 MaxDepth, 273a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId, 274a9f12690SJung-uk Kim ACPI_HANDLE StartHandle); 275a9f12690SJung-uk Kim 27679c6d946SJung-uk Kim void 27779c6d946SJung-uk Kim AcpiNsDumpObjectPaths ( 27879c6d946SJung-uk Kim ACPI_OBJECT_TYPE Type, 27979c6d946SJung-uk Kim UINT8 DisplayType, 28079c6d946SJung-uk Kim UINT32 MaxDepth, 28179c6d946SJung-uk Kim ACPI_OWNER_ID OwnerId, 28279c6d946SJung-uk Kim ACPI_HANDLE StartHandle); 28379c6d946SJung-uk Kim 284a9f12690SJung-uk Kim 285a9f12690SJung-uk Kim /* 286a9f12690SJung-uk Kim * nseval - Namespace evaluation functions 287a9f12690SJung-uk Kim */ 288a9f12690SJung-uk Kim ACPI_STATUS 289a9f12690SJung-uk Kim AcpiNsEvaluate ( 290a9f12690SJung-uk Kim ACPI_EVALUATE_INFO *Info); 291a9f12690SJung-uk Kim 292d6dd1baeSJung-uk Kim void 293d6dd1baeSJung-uk Kim AcpiNsExecModuleCodeList ( 294d6dd1baeSJung-uk Kim void); 295d6dd1baeSJung-uk Kim 296a9f12690SJung-uk Kim 297a9f12690SJung-uk Kim /* 298895f26a9SJung-uk Kim * nsarguments - Argument count/type checking for predefined/reserved names 299a9f12690SJung-uk Kim */ 300a9f12690SJung-uk Kim void 301895f26a9SJung-uk Kim AcpiNsCheckArgumentCount ( 302a9f12690SJung-uk Kim char *Pathname, 303a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 304a9f12690SJung-uk Kim UINT32 UserParamCount, 305a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO *Info); 306a9f12690SJung-uk Kim 307895f26a9SJung-uk Kim void 308895f26a9SJung-uk Kim AcpiNsCheckAcpiCompliance ( 309895f26a9SJung-uk Kim char *Pathname, 310895f26a9SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 311895f26a9SJung-uk Kim const ACPI_PREDEFINED_INFO *Predefined); 312895f26a9SJung-uk Kim 313895f26a9SJung-uk Kim void 314895f26a9SJung-uk Kim AcpiNsCheckArgumentTypes ( 315895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info); 316895f26a9SJung-uk Kim 317895f26a9SJung-uk Kim 318895f26a9SJung-uk Kim /* 319895f26a9SJung-uk Kim * nspredef - Return value checking for predefined/reserved names 320895f26a9SJung-uk Kim */ 321895f26a9SJung-uk Kim ACPI_STATUS 322895f26a9SJung-uk Kim AcpiNsCheckReturnValue ( 323895f26a9SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 324895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 325895f26a9SJung-uk Kim UINT32 UserParamCount, 326895f26a9SJung-uk Kim ACPI_STATUS ReturnStatus, 327895f26a9SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 328895f26a9SJung-uk Kim 329efcc2a30SJung-uk Kim ACPI_STATUS 330efcc2a30SJung-uk Kim AcpiNsCheckObjectType ( 331895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 332efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr, 333efcc2a30SJung-uk Kim UINT32 ExpectedBtypes, 334efcc2a30SJung-uk Kim UINT32 PackageIndex); 335efcc2a30SJung-uk Kim 336efcc2a30SJung-uk Kim 337efcc2a30SJung-uk Kim /* 338efcc2a30SJung-uk Kim * nsprepkg - Validation of predefined name packages 339efcc2a30SJung-uk Kim */ 340efcc2a30SJung-uk Kim ACPI_STATUS 341efcc2a30SJung-uk Kim AcpiNsCheckPackage ( 342895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 343efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 344efcc2a30SJung-uk Kim 345a9f12690SJung-uk Kim 346a9f12690SJung-uk Kim /* 347a9f12690SJung-uk Kim * nsnames - Name and Scope manipulation 348a9f12690SJung-uk Kim */ 349a9f12690SJung-uk Kim UINT32 350a9f12690SJung-uk Kim AcpiNsOpensScope ( 351a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 352a9f12690SJung-uk Kim 353a9f12690SJung-uk Kim char * 354a9f12690SJung-uk Kim AcpiNsGetExternalPathname ( 355a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 356a9f12690SJung-uk Kim 357*fe0f0bbbSJung-uk Kim UINT32 358*fe0f0bbbSJung-uk Kim AcpiNsBuildNormalizedPath ( 359*fe0f0bbbSJung-uk Kim ACPI_NAMESPACE_NODE *Node, 360*fe0f0bbbSJung-uk Kim char *FullPath, 361*fe0f0bbbSJung-uk Kim UINT32 PathSize, 362*fe0f0bbbSJung-uk Kim BOOLEAN NoTrailing); 363*fe0f0bbbSJung-uk Kim 364*fe0f0bbbSJung-uk Kim char * 365*fe0f0bbbSJung-uk Kim AcpiNsGetNormalizedPathname ( 366*fe0f0bbbSJung-uk Kim ACPI_NAMESPACE_NODE *Node, 367*fe0f0bbbSJung-uk Kim BOOLEAN NoTrailing); 368*fe0f0bbbSJung-uk Kim 369a9f12690SJung-uk Kim char * 370a9f12690SJung-uk Kim AcpiNsNameOfCurrentScope ( 371a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 372a9f12690SJung-uk Kim 373a9f12690SJung-uk Kim ACPI_STATUS 374a9f12690SJung-uk Kim AcpiNsHandleToPathname ( 375a9f12690SJung-uk Kim ACPI_HANDLE TargetHandle, 376*fe0f0bbbSJung-uk Kim ACPI_BUFFER *Buffer, 377*fe0f0bbbSJung-uk Kim BOOLEAN NoTrailing); 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 4369c48c75eSJung-uk Kim AcpiNsSimpleRepair ( 437895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 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 4433f8d720fSJung-uk Kim AcpiNsWrapWithPackage ( 444895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4453f8d720fSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 446d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ObjDescPtr); 447d6dd1baeSJung-uk Kim 4489a179dd8SJung-uk Kim ACPI_STATUS 4499a179dd8SJung-uk Kim AcpiNsRepairNullElement ( 450895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4519a179dd8SJung-uk Kim UINT32 ExpectedBtypes, 4529a179dd8SJung-uk Kim UINT32 PackageIndex, 4539a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4549a179dd8SJung-uk Kim 4559a179dd8SJung-uk Kim void 4569a179dd8SJung-uk Kim AcpiNsRemoveNullElements ( 457895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4589a179dd8SJung-uk Kim UINT8 PackageType, 4599a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 4609a179dd8SJung-uk Kim 461d6dd1baeSJung-uk Kim 462d6dd1baeSJung-uk Kim /* 4632272d050SJung-uk Kim * nsrepair2 - Return object repair for specific 4642272d050SJung-uk Kim * predefined methods/objects 4652272d050SJung-uk Kim */ 4662272d050SJung-uk Kim ACPI_STATUS 4672272d050SJung-uk Kim AcpiNsComplexRepairs ( 468895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4692272d050SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 4702272d050SJung-uk Kim ACPI_STATUS ValidateStatus, 4712272d050SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4722272d050SJung-uk Kim 4732272d050SJung-uk Kim 4742272d050SJung-uk Kim /* 475a9f12690SJung-uk Kim * nssearch - Namespace searching and entry 476a9f12690SJung-uk Kim */ 477a9f12690SJung-uk Kim ACPI_STATUS 478a9f12690SJung-uk Kim AcpiNsSearchAndEnter ( 479a9f12690SJung-uk Kim UINT32 EntryName, 480a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 481a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 482a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 483a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 484a9f12690SJung-uk Kim UINT32 Flags, 485a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 486a9f12690SJung-uk Kim 487a9f12690SJung-uk Kim ACPI_STATUS 488a9f12690SJung-uk Kim AcpiNsSearchOneScope ( 489a9f12690SJung-uk Kim UINT32 EntryName, 490a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 491a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 492a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 493a9f12690SJung-uk Kim 494a9f12690SJung-uk Kim void 495a9f12690SJung-uk Kim AcpiNsInstallNode ( 496a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 497a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentNode, 498a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 499a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 500a9f12690SJung-uk Kim 501a9f12690SJung-uk Kim 502a9f12690SJung-uk Kim /* 503a9f12690SJung-uk Kim * nsutils - Utility functions 504a9f12690SJung-uk Kim */ 505a9f12690SJung-uk Kim ACPI_OBJECT_TYPE 506a9f12690SJung-uk Kim AcpiNsGetType ( 507a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 508a9f12690SJung-uk Kim 509a9f12690SJung-uk Kim UINT32 510a9f12690SJung-uk Kim AcpiNsLocal ( 511a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 512a9f12690SJung-uk Kim 513a9f12690SJung-uk Kim void 514a9f12690SJung-uk Kim AcpiNsPrintNodePathname ( 515a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 516a9f12690SJung-uk Kim const char *Msg); 517a9f12690SJung-uk Kim 518a9f12690SJung-uk Kim ACPI_STATUS 519a9f12690SJung-uk Kim AcpiNsBuildInternalName ( 520a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 521a9f12690SJung-uk Kim 522a9f12690SJung-uk Kim void 523a9f12690SJung-uk Kim AcpiNsGetInternalNameLength ( 524a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 525a9f12690SJung-uk Kim 526a9f12690SJung-uk Kim ACPI_STATUS 527a9f12690SJung-uk Kim AcpiNsInternalizeName ( 528a9f12690SJung-uk Kim const char *DottedName, 529a9f12690SJung-uk Kim char **ConvertedName); 530a9f12690SJung-uk Kim 531a9f12690SJung-uk Kim ACPI_STATUS 532a9f12690SJung-uk Kim AcpiNsExternalizeName ( 533a9f12690SJung-uk Kim UINT32 InternalNameLength, 534a9f12690SJung-uk Kim const char *InternalName, 535a9f12690SJung-uk Kim UINT32 *ConvertedNameLength, 536a9f12690SJung-uk Kim char **ConvertedName); 537a9f12690SJung-uk Kim 538a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 539572c8255SJung-uk Kim AcpiNsValidateHandle ( 540a9f12690SJung-uk Kim ACPI_HANDLE Handle); 541a9f12690SJung-uk Kim 542a9f12690SJung-uk Kim void 543a9f12690SJung-uk Kim AcpiNsTerminate ( 544a9f12690SJung-uk Kim void); 545a9f12690SJung-uk Kim 546a9f12690SJung-uk Kim #endif /* __ACNAMESP_H__ */ 547