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*f8146b88SJung-uk Kim * Copyright (C) 2000 - 2016, 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 81*f8146b88SJung-uk Kim #define ACPI_ALL_PACKAGE_ELEMENTS (ACPI_UINT32_MAX-1) 82d6dd1baeSJung-uk Kim 83d6dd1baeSJung-uk Kim /* Always emit warning message, not dependent on node flags */ 84d6dd1baeSJung-uk Kim 85d6dd1baeSJung-uk Kim #define ACPI_WARN_ALWAYS 0 86d6dd1baeSJung-uk Kim 87a9f12690SJung-uk Kim 88a9f12690SJung-uk Kim /* 89a9f12690SJung-uk Kim * nsinit - Namespace initialization 90a9f12690SJung-uk Kim */ 91a9f12690SJung-uk Kim ACPI_STATUS 92a9f12690SJung-uk Kim AcpiNsInitializeObjects ( 93a9f12690SJung-uk Kim void); 94a9f12690SJung-uk Kim 95a9f12690SJung-uk Kim ACPI_STATUS 96a9f12690SJung-uk Kim AcpiNsInitializeDevices ( 97*f8146b88SJung-uk Kim UINT32 Flags); 98a9f12690SJung-uk Kim 99a9f12690SJung-uk Kim 100a9f12690SJung-uk Kim /* 101a9f12690SJung-uk Kim * nsload - Namespace loading 102a9f12690SJung-uk Kim */ 103a9f12690SJung-uk Kim ACPI_STATUS 104a9f12690SJung-uk Kim AcpiNsLoadNamespace ( 105a9f12690SJung-uk Kim void); 106a9f12690SJung-uk Kim 107a9f12690SJung-uk Kim ACPI_STATUS 108a9f12690SJung-uk Kim AcpiNsLoadTable ( 109a9f12690SJung-uk Kim UINT32 TableIndex, 110a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 111a9f12690SJung-uk Kim 112a9f12690SJung-uk Kim 113a9f12690SJung-uk Kim /* 114a9f12690SJung-uk Kim * nswalk - walk the namespace 115a9f12690SJung-uk Kim */ 116a9f12690SJung-uk Kim ACPI_STATUS 117a9f12690SJung-uk Kim AcpiNsWalkNamespace ( 118a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 119a9f12690SJung-uk Kim ACPI_HANDLE StartObject, 120a9f12690SJung-uk Kim UINT32 MaxDepth, 121a9f12690SJung-uk Kim UINT32 Flags, 122bf6fac21SJung-uk Kim ACPI_WALK_CALLBACK DescendingCallback, 123bf6fac21SJung-uk Kim ACPI_WALK_CALLBACK AscendingCallback, 124a9f12690SJung-uk Kim void *Context, 125a9f12690SJung-uk Kim void **ReturnValue); 126a9f12690SJung-uk Kim 127a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 128a9f12690SJung-uk Kim AcpiNsGetNextNode ( 129a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 130a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 131a9f12690SJung-uk Kim 132a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 133a9f12690SJung-uk Kim AcpiNsGetNextNodeTyped ( 134a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 135a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent, 136a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Child); 137a9f12690SJung-uk Kim 138a9f12690SJung-uk Kim /* 139a9f12690SJung-uk Kim * nsparse - table parsing 140a9f12690SJung-uk Kim */ 141a9f12690SJung-uk Kim ACPI_STATUS 142a9f12690SJung-uk Kim AcpiNsParseTable ( 143a9f12690SJung-uk Kim UINT32 TableIndex, 144a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 145a9f12690SJung-uk Kim 146a9f12690SJung-uk Kim ACPI_STATUS 147a9f12690SJung-uk Kim AcpiNsOneCompleteParse ( 148a9f12690SJung-uk Kim UINT32 PassNumber, 149a9f12690SJung-uk Kim UINT32 TableIndex, 150a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *StartNode); 151a9f12690SJung-uk Kim 152a9f12690SJung-uk Kim 153a9f12690SJung-uk Kim /* 154a9f12690SJung-uk Kim * nsaccess - Top-level namespace access 155a9f12690SJung-uk Kim */ 156a9f12690SJung-uk Kim ACPI_STATUS 157a9f12690SJung-uk Kim AcpiNsRootInitialize ( 158a9f12690SJung-uk Kim void); 159a9f12690SJung-uk Kim 160a9f12690SJung-uk Kim ACPI_STATUS 161a9f12690SJung-uk Kim AcpiNsLookup ( 162a9f12690SJung-uk Kim ACPI_GENERIC_STATE *ScopeInfo, 163a9f12690SJung-uk Kim char *Name, 164a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 165a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 166a9f12690SJung-uk Kim UINT32 Flags, 167a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 168a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 169a9f12690SJung-uk Kim 170a9f12690SJung-uk Kim 171a9f12690SJung-uk Kim /* 172a9f12690SJung-uk Kim * nsalloc - Named object allocation/deallocation 173a9f12690SJung-uk Kim */ 174a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 175a9f12690SJung-uk Kim AcpiNsCreateNode ( 176a9f12690SJung-uk Kim UINT32 Name); 177a9f12690SJung-uk Kim 178a9f12690SJung-uk Kim void 179a9f12690SJung-uk Kim AcpiNsDeleteNode ( 180a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 181a9f12690SJung-uk Kim 182a9f12690SJung-uk Kim void 183d6dd1baeSJung-uk Kim AcpiNsRemoveNode ( 184d6dd1baeSJung-uk Kim ACPI_NAMESPACE_NODE *Node); 185d6dd1baeSJung-uk Kim 186d6dd1baeSJung-uk Kim void 187a9f12690SJung-uk Kim AcpiNsDeleteNamespaceSubtree ( 188a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentHandle); 189a9f12690SJung-uk Kim 190a9f12690SJung-uk Kim void 191a9f12690SJung-uk Kim AcpiNsDeleteNamespaceByOwner ( 192a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId); 193a9f12690SJung-uk Kim 194a9f12690SJung-uk Kim void 195a9f12690SJung-uk Kim AcpiNsDetachObject ( 196a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 197a9f12690SJung-uk Kim 198a9f12690SJung-uk Kim void 199a9f12690SJung-uk Kim AcpiNsDeleteChildren ( 200a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Parent); 201a9f12690SJung-uk Kim 202a9f12690SJung-uk Kim int 203a9f12690SJung-uk Kim AcpiNsCompareNames ( 204a9f12690SJung-uk Kim char *Name1, 205a9f12690SJung-uk Kim char *Name2); 206a9f12690SJung-uk Kim 207a9f12690SJung-uk Kim 208a9f12690SJung-uk Kim /* 2099c48c75eSJung-uk Kim * nsconvert - Dynamic object conversion routines 2109c48c75eSJung-uk Kim */ 2119c48c75eSJung-uk Kim ACPI_STATUS 2129c48c75eSJung-uk Kim AcpiNsConvertToInteger ( 2139c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2149c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2159c48c75eSJung-uk Kim 2169c48c75eSJung-uk Kim ACPI_STATUS 2179c48c75eSJung-uk Kim AcpiNsConvertToString ( 2189c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2199c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2209c48c75eSJung-uk Kim 2219c48c75eSJung-uk Kim ACPI_STATUS 2229c48c75eSJung-uk Kim AcpiNsConvertToBuffer ( 2239c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2249c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2259c48c75eSJung-uk Kim 2269c48c75eSJung-uk Kim ACPI_STATUS 2279c48c75eSJung-uk Kim AcpiNsConvertToUnicode ( 228*f8146b88SJung-uk Kim ACPI_NAMESPACE_NODE *Scope, 2299c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2309c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2319c48c75eSJung-uk Kim 2329c48c75eSJung-uk Kim ACPI_STATUS 2339c48c75eSJung-uk Kim AcpiNsConvertToResource ( 234*f8146b88SJung-uk Kim ACPI_NAMESPACE_NODE *Scope, 235*f8146b88SJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 236*f8146b88SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 237*f8146b88SJung-uk Kim 238*f8146b88SJung-uk Kim ACPI_STATUS 239*f8146b88SJung-uk Kim AcpiNsConvertToReference ( 240*f8146b88SJung-uk Kim ACPI_NAMESPACE_NODE *Scope, 2419c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 2429c48c75eSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 2439c48c75eSJung-uk Kim 2449c48c75eSJung-uk Kim 2459c48c75eSJung-uk Kim /* 246a9f12690SJung-uk Kim * nsdump - Namespace dump/print utilities 247a9f12690SJung-uk Kim */ 248a9f12690SJung-uk Kim void 249a9f12690SJung-uk Kim AcpiNsDumpTables ( 250a9f12690SJung-uk Kim ACPI_HANDLE SearchBase, 251a9f12690SJung-uk Kim UINT32 MaxDepth); 252a9f12690SJung-uk Kim 253a9f12690SJung-uk Kim void 254a9f12690SJung-uk Kim AcpiNsDumpEntry ( 255a9f12690SJung-uk Kim ACPI_HANDLE Handle, 256a9f12690SJung-uk Kim UINT32 DebugLevel); 257a9f12690SJung-uk Kim 258a9f12690SJung-uk Kim void 259a9f12690SJung-uk Kim AcpiNsDumpPathname ( 260a9f12690SJung-uk Kim ACPI_HANDLE Handle, 261*f8146b88SJung-uk Kim const char *Msg, 262a9f12690SJung-uk Kim UINT32 Level, 263a9f12690SJung-uk Kim UINT32 Component); 264a9f12690SJung-uk Kim 265a9f12690SJung-uk Kim void 266a9f12690SJung-uk Kim AcpiNsPrintPathname ( 267a9f12690SJung-uk Kim UINT32 NumSegments, 268*f8146b88SJung-uk Kim const char *Pathname); 269a9f12690SJung-uk Kim 270a9f12690SJung-uk Kim ACPI_STATUS 271a9f12690SJung-uk Kim AcpiNsDumpOneObject ( 272a9f12690SJung-uk Kim ACPI_HANDLE ObjHandle, 273a9f12690SJung-uk Kim UINT32 Level, 274a9f12690SJung-uk Kim void *Context, 275a9f12690SJung-uk Kim void **ReturnValue); 276a9f12690SJung-uk Kim 277a9f12690SJung-uk Kim void 278a9f12690SJung-uk Kim AcpiNsDumpObjects ( 279a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 280a9f12690SJung-uk Kim UINT8 DisplayType, 281a9f12690SJung-uk Kim UINT32 MaxDepth, 282a9f12690SJung-uk Kim ACPI_OWNER_ID OwnerId, 283a9f12690SJung-uk Kim ACPI_HANDLE StartHandle); 284a9f12690SJung-uk Kim 28579c6d946SJung-uk Kim void 28679c6d946SJung-uk Kim AcpiNsDumpObjectPaths ( 28779c6d946SJung-uk Kim ACPI_OBJECT_TYPE Type, 28879c6d946SJung-uk Kim UINT8 DisplayType, 28979c6d946SJung-uk Kim UINT32 MaxDepth, 29079c6d946SJung-uk Kim ACPI_OWNER_ID OwnerId, 29179c6d946SJung-uk Kim ACPI_HANDLE StartHandle); 29279c6d946SJung-uk Kim 293a9f12690SJung-uk Kim 294a9f12690SJung-uk Kim /* 295a9f12690SJung-uk Kim * nseval - Namespace evaluation functions 296a9f12690SJung-uk Kim */ 297a9f12690SJung-uk Kim ACPI_STATUS 298a9f12690SJung-uk Kim AcpiNsEvaluate ( 299a9f12690SJung-uk Kim ACPI_EVALUATE_INFO *Info); 300a9f12690SJung-uk Kim 301d6dd1baeSJung-uk Kim void 302d6dd1baeSJung-uk Kim AcpiNsExecModuleCodeList ( 303d6dd1baeSJung-uk Kim void); 304d6dd1baeSJung-uk Kim 305a9f12690SJung-uk Kim 306a9f12690SJung-uk Kim /* 307895f26a9SJung-uk Kim * nsarguments - Argument count/type checking for predefined/reserved names 308a9f12690SJung-uk Kim */ 309a9f12690SJung-uk Kim void 310895f26a9SJung-uk Kim AcpiNsCheckArgumentCount ( 311a9f12690SJung-uk Kim char *Pathname, 312a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 313a9f12690SJung-uk Kim UINT32 UserParamCount, 314a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO *Info); 315a9f12690SJung-uk Kim 316895f26a9SJung-uk Kim void 317895f26a9SJung-uk Kim AcpiNsCheckAcpiCompliance ( 318895f26a9SJung-uk Kim char *Pathname, 319895f26a9SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 320895f26a9SJung-uk Kim const ACPI_PREDEFINED_INFO *Predefined); 321895f26a9SJung-uk Kim 322895f26a9SJung-uk Kim void 323895f26a9SJung-uk Kim AcpiNsCheckArgumentTypes ( 324895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info); 325895f26a9SJung-uk Kim 326895f26a9SJung-uk Kim 327895f26a9SJung-uk Kim /* 328895f26a9SJung-uk Kim * nspredef - Return value checking for predefined/reserved names 329895f26a9SJung-uk Kim */ 330895f26a9SJung-uk Kim ACPI_STATUS 331895f26a9SJung-uk Kim AcpiNsCheckReturnValue ( 332895f26a9SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 333895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 334895f26a9SJung-uk Kim UINT32 UserParamCount, 335895f26a9SJung-uk Kim ACPI_STATUS ReturnStatus, 336895f26a9SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 337895f26a9SJung-uk Kim 338efcc2a30SJung-uk Kim ACPI_STATUS 339efcc2a30SJung-uk Kim AcpiNsCheckObjectType ( 340895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 341efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr, 342efcc2a30SJung-uk Kim UINT32 ExpectedBtypes, 343efcc2a30SJung-uk Kim UINT32 PackageIndex); 344efcc2a30SJung-uk Kim 345efcc2a30SJung-uk Kim 346efcc2a30SJung-uk Kim /* 347efcc2a30SJung-uk Kim * nsprepkg - Validation of predefined name packages 348efcc2a30SJung-uk Kim */ 349efcc2a30SJung-uk Kim ACPI_STATUS 350efcc2a30SJung-uk Kim AcpiNsCheckPackage ( 351895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 352efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 353efcc2a30SJung-uk Kim 354a9f12690SJung-uk Kim 355a9f12690SJung-uk Kim /* 356a9f12690SJung-uk Kim * nsnames - Name and Scope manipulation 357a9f12690SJung-uk Kim */ 358a9f12690SJung-uk Kim UINT32 359a9f12690SJung-uk Kim AcpiNsOpensScope ( 360a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 361a9f12690SJung-uk Kim 362a9f12690SJung-uk Kim char * 363a9f12690SJung-uk Kim AcpiNsGetExternalPathname ( 364a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 365a9f12690SJung-uk Kim 366fe0f0bbbSJung-uk Kim UINT32 367fe0f0bbbSJung-uk Kim AcpiNsBuildNormalizedPath ( 368fe0f0bbbSJung-uk Kim ACPI_NAMESPACE_NODE *Node, 369fe0f0bbbSJung-uk Kim char *FullPath, 370fe0f0bbbSJung-uk Kim UINT32 PathSize, 371fe0f0bbbSJung-uk Kim BOOLEAN NoTrailing); 372fe0f0bbbSJung-uk Kim 373fe0f0bbbSJung-uk Kim char * 374fe0f0bbbSJung-uk Kim AcpiNsGetNormalizedPathname ( 375fe0f0bbbSJung-uk Kim ACPI_NAMESPACE_NODE *Node, 376fe0f0bbbSJung-uk Kim BOOLEAN NoTrailing); 377fe0f0bbbSJung-uk Kim 378a9f12690SJung-uk Kim char * 379a9f12690SJung-uk Kim AcpiNsNameOfCurrentScope ( 380a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 381a9f12690SJung-uk Kim 382a9f12690SJung-uk Kim ACPI_STATUS 383a9f12690SJung-uk Kim AcpiNsHandleToPathname ( 384a9f12690SJung-uk Kim ACPI_HANDLE TargetHandle, 385fe0f0bbbSJung-uk Kim ACPI_BUFFER *Buffer, 386fe0f0bbbSJung-uk Kim BOOLEAN NoTrailing); 387a9f12690SJung-uk Kim 388a9f12690SJung-uk Kim BOOLEAN 389a9f12690SJung-uk Kim AcpiNsPatternMatch ( 390a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ObjNode, 391a9f12690SJung-uk Kim char *SearchFor); 392a9f12690SJung-uk Kim 393a9f12690SJung-uk Kim ACPI_STATUS 394a9f12690SJung-uk Kim AcpiNsGetNode ( 395a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *PrefixNode, 396a9f12690SJung-uk Kim const char *ExternalPathname, 397a9f12690SJung-uk Kim UINT32 Flags, 398a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **OutNode); 399a9f12690SJung-uk Kim 400a9f12690SJung-uk Kim ACPI_SIZE 401a9f12690SJung-uk Kim AcpiNsGetPathnameLength ( 402a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 403a9f12690SJung-uk Kim 404a9f12690SJung-uk Kim 405a9f12690SJung-uk Kim /* 406a9f12690SJung-uk Kim * nsobject - Object management for namespace nodes 407a9f12690SJung-uk Kim */ 408a9f12690SJung-uk Kim ACPI_STATUS 409a9f12690SJung-uk Kim AcpiNsAttachObject ( 410a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 411a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 412a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 413a9f12690SJung-uk Kim 414a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 415a9f12690SJung-uk Kim AcpiNsGetAttachedObject ( 416a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 417a9f12690SJung-uk Kim 418a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 419a9f12690SJung-uk Kim AcpiNsGetSecondaryObject ( 420a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 421a9f12690SJung-uk Kim 422a9f12690SJung-uk Kim ACPI_STATUS 423a9f12690SJung-uk Kim AcpiNsAttachData ( 424a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 425a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 426a9f12690SJung-uk Kim void *Data); 427a9f12690SJung-uk Kim 428a9f12690SJung-uk Kim ACPI_STATUS 429a9f12690SJung-uk Kim AcpiNsDetachData ( 430a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 431a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler); 432a9f12690SJung-uk Kim 433a9f12690SJung-uk Kim ACPI_STATUS 434a9f12690SJung-uk Kim AcpiNsGetAttachedData ( 435a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 436a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 437a9f12690SJung-uk Kim void **Data); 438a9f12690SJung-uk Kim 439a9f12690SJung-uk Kim 440a9f12690SJung-uk Kim /* 4412272d050SJung-uk Kim * nsrepair - General return object repair for all 4422272d050SJung-uk Kim * predefined methods/objects 443d6dd1baeSJung-uk Kim */ 444d6dd1baeSJung-uk Kim ACPI_STATUS 4459c48c75eSJung-uk Kim AcpiNsSimpleRepair ( 446895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 447d6dd1baeSJung-uk Kim UINT32 ExpectedBtypes, 448d6dd1baeSJung-uk Kim UINT32 PackageIndex, 449d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 450d6dd1baeSJung-uk Kim 451d6dd1baeSJung-uk Kim ACPI_STATUS 4523f8d720fSJung-uk Kim AcpiNsWrapWithPackage ( 453895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4543f8d720fSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 455d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ObjDescPtr); 456d6dd1baeSJung-uk Kim 4579a179dd8SJung-uk Kim ACPI_STATUS 4589a179dd8SJung-uk Kim AcpiNsRepairNullElement ( 459895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4609a179dd8SJung-uk Kim UINT32 ExpectedBtypes, 4619a179dd8SJung-uk Kim UINT32 PackageIndex, 4629a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4639a179dd8SJung-uk Kim 4649a179dd8SJung-uk Kim void 4659a179dd8SJung-uk Kim AcpiNsRemoveNullElements ( 466895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4679a179dd8SJung-uk Kim UINT8 PackageType, 4689a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 4699a179dd8SJung-uk Kim 470d6dd1baeSJung-uk Kim 471d6dd1baeSJung-uk Kim /* 4722272d050SJung-uk Kim * nsrepair2 - Return object repair for specific 4732272d050SJung-uk Kim * predefined methods/objects 4742272d050SJung-uk Kim */ 4752272d050SJung-uk Kim ACPI_STATUS 4762272d050SJung-uk Kim AcpiNsComplexRepairs ( 477895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4782272d050SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 4792272d050SJung-uk Kim ACPI_STATUS ValidateStatus, 4802272d050SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4812272d050SJung-uk Kim 4822272d050SJung-uk Kim 4832272d050SJung-uk Kim /* 484a9f12690SJung-uk Kim * nssearch - Namespace searching and entry 485a9f12690SJung-uk Kim */ 486a9f12690SJung-uk Kim ACPI_STATUS 487a9f12690SJung-uk Kim AcpiNsSearchAndEnter ( 488a9f12690SJung-uk Kim UINT32 EntryName, 489a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 490a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 491a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 492a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 493a9f12690SJung-uk Kim UINT32 Flags, 494a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 495a9f12690SJung-uk Kim 496a9f12690SJung-uk Kim ACPI_STATUS 497a9f12690SJung-uk Kim AcpiNsSearchOneScope ( 498a9f12690SJung-uk Kim UINT32 EntryName, 499a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 500a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 501a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 502a9f12690SJung-uk Kim 503a9f12690SJung-uk Kim void 504a9f12690SJung-uk Kim AcpiNsInstallNode ( 505a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 506a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentNode, 507a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 508a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 509a9f12690SJung-uk Kim 510a9f12690SJung-uk Kim 511a9f12690SJung-uk Kim /* 512a9f12690SJung-uk Kim * nsutils - Utility functions 513a9f12690SJung-uk Kim */ 514a9f12690SJung-uk Kim ACPI_OBJECT_TYPE 515a9f12690SJung-uk Kim AcpiNsGetType ( 516a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 517a9f12690SJung-uk Kim 518a9f12690SJung-uk Kim UINT32 519a9f12690SJung-uk Kim AcpiNsLocal ( 520a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 521a9f12690SJung-uk Kim 522a9f12690SJung-uk Kim void 523a9f12690SJung-uk Kim AcpiNsPrintNodePathname ( 524a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 525a9f12690SJung-uk Kim const char *Msg); 526a9f12690SJung-uk Kim 527a9f12690SJung-uk Kim ACPI_STATUS 528a9f12690SJung-uk Kim AcpiNsBuildInternalName ( 529a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 530a9f12690SJung-uk Kim 531a9f12690SJung-uk Kim void 532a9f12690SJung-uk Kim AcpiNsGetInternalNameLength ( 533a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 534a9f12690SJung-uk Kim 535a9f12690SJung-uk Kim ACPI_STATUS 536a9f12690SJung-uk Kim AcpiNsInternalizeName ( 537a9f12690SJung-uk Kim const char *DottedName, 538a9f12690SJung-uk Kim char **ConvertedName); 539a9f12690SJung-uk Kim 540a9f12690SJung-uk Kim ACPI_STATUS 541a9f12690SJung-uk Kim AcpiNsExternalizeName ( 542a9f12690SJung-uk Kim UINT32 InternalNameLength, 543a9f12690SJung-uk Kim const char *InternalName, 544a9f12690SJung-uk Kim UINT32 *ConvertedNameLength, 545a9f12690SJung-uk Kim char **ConvertedName); 546a9f12690SJung-uk Kim 547a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 548572c8255SJung-uk Kim AcpiNsValidateHandle ( 549a9f12690SJung-uk Kim ACPI_HANDLE Handle); 550a9f12690SJung-uk Kim 551a9f12690SJung-uk Kim void 552a9f12690SJung-uk Kim AcpiNsTerminate ( 553a9f12690SJung-uk Kim void); 554a9f12690SJung-uk Kim 555a9f12690SJung-uk Kim #endif /* __ACNAMESP_H__ */ 556