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, 120bf6fac21SJung-uk Kim ACPI_WALK_CALLBACK DescendingCallback, 121bf6fac21SJung-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 275*79c6d946SJung-uk Kim void 276*79c6d946SJung-uk Kim AcpiNsDumpObjectPaths ( 277*79c6d946SJung-uk Kim ACPI_OBJECT_TYPE Type, 278*79c6d946SJung-uk Kim UINT8 DisplayType, 279*79c6d946SJung-uk Kim UINT32 MaxDepth, 280*79c6d946SJung-uk Kim ACPI_OWNER_ID OwnerId, 281*79c6d946SJung-uk Kim ACPI_HANDLE StartHandle); 282*79c6d946SJung-uk Kim 283a9f12690SJung-uk Kim 284a9f12690SJung-uk Kim /* 285a9f12690SJung-uk Kim * nseval - Namespace evaluation functions 286a9f12690SJung-uk Kim */ 287a9f12690SJung-uk Kim ACPI_STATUS 288a9f12690SJung-uk Kim AcpiNsEvaluate ( 289a9f12690SJung-uk Kim ACPI_EVALUATE_INFO *Info); 290a9f12690SJung-uk Kim 291d6dd1baeSJung-uk Kim void 292d6dd1baeSJung-uk Kim AcpiNsExecModuleCodeList ( 293d6dd1baeSJung-uk Kim void); 294d6dd1baeSJung-uk Kim 295a9f12690SJung-uk Kim 296a9f12690SJung-uk Kim /* 297895f26a9SJung-uk Kim * nsarguments - Argument count/type checking for predefined/reserved names 298a9f12690SJung-uk Kim */ 299a9f12690SJung-uk Kim void 300895f26a9SJung-uk Kim AcpiNsCheckArgumentCount ( 301a9f12690SJung-uk Kim char *Pathname, 302a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 303a9f12690SJung-uk Kim UINT32 UserParamCount, 304a9f12690SJung-uk Kim const ACPI_PREDEFINED_INFO *Info); 305a9f12690SJung-uk Kim 306895f26a9SJung-uk Kim void 307895f26a9SJung-uk Kim AcpiNsCheckAcpiCompliance ( 308895f26a9SJung-uk Kim char *Pathname, 309895f26a9SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 310895f26a9SJung-uk Kim const ACPI_PREDEFINED_INFO *Predefined); 311895f26a9SJung-uk Kim 312895f26a9SJung-uk Kim void 313895f26a9SJung-uk Kim AcpiNsCheckArgumentTypes ( 314895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info); 315895f26a9SJung-uk Kim 316895f26a9SJung-uk Kim 317895f26a9SJung-uk Kim /* 318895f26a9SJung-uk Kim * nspredef - Return value checking for predefined/reserved names 319895f26a9SJung-uk Kim */ 320895f26a9SJung-uk Kim ACPI_STATUS 321895f26a9SJung-uk Kim AcpiNsCheckReturnValue ( 322895f26a9SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 323895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 324895f26a9SJung-uk Kim UINT32 UserParamCount, 325895f26a9SJung-uk Kim ACPI_STATUS ReturnStatus, 326895f26a9SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObject); 327895f26a9SJung-uk Kim 328efcc2a30SJung-uk Kim ACPI_STATUS 329efcc2a30SJung-uk Kim AcpiNsCheckObjectType ( 330895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 331efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr, 332efcc2a30SJung-uk Kim UINT32 ExpectedBtypes, 333efcc2a30SJung-uk Kim UINT32 PackageIndex); 334efcc2a30SJung-uk Kim 335efcc2a30SJung-uk Kim 336efcc2a30SJung-uk Kim /* 337efcc2a30SJung-uk Kim * nsprepkg - Validation of predefined name packages 338efcc2a30SJung-uk Kim */ 339efcc2a30SJung-uk Kim ACPI_STATUS 340efcc2a30SJung-uk Kim AcpiNsCheckPackage ( 341895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 342efcc2a30SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 343efcc2a30SJung-uk Kim 344a9f12690SJung-uk Kim 345a9f12690SJung-uk Kim /* 346a9f12690SJung-uk Kim * nsnames - Name and Scope manipulation 347a9f12690SJung-uk Kim */ 348a9f12690SJung-uk Kim UINT32 349a9f12690SJung-uk Kim AcpiNsOpensScope ( 350a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 351a9f12690SJung-uk Kim 352a9f12690SJung-uk Kim ACPI_STATUS 353a9f12690SJung-uk Kim AcpiNsBuildExternalPath ( 354a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 355a9f12690SJung-uk Kim ACPI_SIZE Size, 356a9f12690SJung-uk Kim char *NameBuffer); 357a9f12690SJung-uk Kim 358a9f12690SJung-uk Kim char * 359a9f12690SJung-uk Kim AcpiNsGetExternalPathname ( 360a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 361a9f12690SJung-uk Kim 362a9f12690SJung-uk Kim char * 363a9f12690SJung-uk Kim AcpiNsNameOfCurrentScope ( 364a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState); 365a9f12690SJung-uk Kim 366a9f12690SJung-uk Kim ACPI_STATUS 367a9f12690SJung-uk Kim AcpiNsHandleToPathname ( 368a9f12690SJung-uk Kim ACPI_HANDLE TargetHandle, 369a9f12690SJung-uk Kim ACPI_BUFFER *Buffer); 370a9f12690SJung-uk Kim 371a9f12690SJung-uk Kim BOOLEAN 372a9f12690SJung-uk Kim AcpiNsPatternMatch ( 373a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ObjNode, 374a9f12690SJung-uk Kim char *SearchFor); 375a9f12690SJung-uk Kim 376a9f12690SJung-uk Kim ACPI_STATUS 377a9f12690SJung-uk Kim AcpiNsGetNode ( 378a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *PrefixNode, 379a9f12690SJung-uk Kim const char *ExternalPathname, 380a9f12690SJung-uk Kim UINT32 Flags, 381a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **OutNode); 382a9f12690SJung-uk Kim 383a9f12690SJung-uk Kim ACPI_SIZE 384a9f12690SJung-uk Kim AcpiNsGetPathnameLength ( 385a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 386a9f12690SJung-uk Kim 387a9f12690SJung-uk Kim 388a9f12690SJung-uk Kim /* 389a9f12690SJung-uk Kim * nsobject - Object management for namespace nodes 390a9f12690SJung-uk Kim */ 391a9f12690SJung-uk Kim ACPI_STATUS 392a9f12690SJung-uk Kim AcpiNsAttachObject ( 393a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 394a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *Object, 395a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 396a9f12690SJung-uk Kim 397a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 398a9f12690SJung-uk Kim AcpiNsGetAttachedObject ( 399a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 400a9f12690SJung-uk Kim 401a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT * 402a9f12690SJung-uk Kim AcpiNsGetSecondaryObject ( 403a9f12690SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 404a9f12690SJung-uk Kim 405a9f12690SJung-uk Kim ACPI_STATUS 406a9f12690SJung-uk Kim AcpiNsAttachData ( 407a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 408a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 409a9f12690SJung-uk Kim void *Data); 410a9f12690SJung-uk Kim 411a9f12690SJung-uk Kim ACPI_STATUS 412a9f12690SJung-uk Kim AcpiNsDetachData ( 413a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 414a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler); 415a9f12690SJung-uk Kim 416a9f12690SJung-uk Kim ACPI_STATUS 417a9f12690SJung-uk Kim AcpiNsGetAttachedData ( 418a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 419a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 420a9f12690SJung-uk Kim void **Data); 421a9f12690SJung-uk Kim 422a9f12690SJung-uk Kim 423a9f12690SJung-uk Kim /* 4242272d050SJung-uk Kim * nsrepair - General return object repair for all 4252272d050SJung-uk Kim * predefined methods/objects 426d6dd1baeSJung-uk Kim */ 427d6dd1baeSJung-uk Kim ACPI_STATUS 4289c48c75eSJung-uk Kim AcpiNsSimpleRepair ( 429895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 430d6dd1baeSJung-uk Kim UINT32 ExpectedBtypes, 431d6dd1baeSJung-uk Kim UINT32 PackageIndex, 432d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 433d6dd1baeSJung-uk Kim 434d6dd1baeSJung-uk Kim ACPI_STATUS 4353f8d720fSJung-uk Kim AcpiNsWrapWithPackage ( 436895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4373f8d720fSJung-uk Kim ACPI_OPERAND_OBJECT *OriginalObject, 438d6dd1baeSJung-uk Kim ACPI_OPERAND_OBJECT **ObjDescPtr); 439d6dd1baeSJung-uk Kim 4409a179dd8SJung-uk Kim ACPI_STATUS 4419a179dd8SJung-uk Kim AcpiNsRepairNullElement ( 442895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4439a179dd8SJung-uk Kim UINT32 ExpectedBtypes, 4449a179dd8SJung-uk Kim UINT32 PackageIndex, 4459a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4469a179dd8SJung-uk Kim 4479a179dd8SJung-uk Kim void 4489a179dd8SJung-uk Kim AcpiNsRemoveNullElements ( 449895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4509a179dd8SJung-uk Kim UINT8 PackageType, 4519a179dd8SJung-uk Kim ACPI_OPERAND_OBJECT *ObjDesc); 4529a179dd8SJung-uk Kim 453d6dd1baeSJung-uk Kim 454d6dd1baeSJung-uk Kim /* 4552272d050SJung-uk Kim * nsrepair2 - Return object repair for specific 4562272d050SJung-uk Kim * predefined methods/objects 4572272d050SJung-uk Kim */ 4582272d050SJung-uk Kim ACPI_STATUS 4592272d050SJung-uk Kim AcpiNsComplexRepairs ( 460895f26a9SJung-uk Kim ACPI_EVALUATE_INFO *Info, 4612272d050SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 4622272d050SJung-uk Kim ACPI_STATUS ValidateStatus, 4632272d050SJung-uk Kim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 4642272d050SJung-uk Kim 4652272d050SJung-uk Kim 4662272d050SJung-uk Kim /* 467a9f12690SJung-uk Kim * nssearch - Namespace searching and entry 468a9f12690SJung-uk Kim */ 469a9f12690SJung-uk Kim ACPI_STATUS 470a9f12690SJung-uk Kim AcpiNsSearchAndEnter ( 471a9f12690SJung-uk Kim UINT32 EntryName, 472a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 473a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 474a9f12690SJung-uk Kim ACPI_INTERPRETER_MODE InterpreterMode, 475a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 476a9f12690SJung-uk Kim UINT32 Flags, 477a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 478a9f12690SJung-uk Kim 479a9f12690SJung-uk Kim ACPI_STATUS 480a9f12690SJung-uk Kim AcpiNsSearchOneScope ( 481a9f12690SJung-uk Kim UINT32 EntryName, 482a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 483a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 484a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE **RetNode); 485a9f12690SJung-uk Kim 486a9f12690SJung-uk Kim void 487a9f12690SJung-uk Kim AcpiNsInstallNode ( 488a9f12690SJung-uk Kim ACPI_WALK_STATE *WalkState, 489a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *ParentNode, 490a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 491a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 492a9f12690SJung-uk Kim 493a9f12690SJung-uk Kim 494a9f12690SJung-uk Kim /* 495a9f12690SJung-uk Kim * nsutils - Utility functions 496a9f12690SJung-uk Kim */ 497a9f12690SJung-uk Kim ACPI_OBJECT_TYPE 498a9f12690SJung-uk Kim AcpiNsGetType ( 499a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node); 500a9f12690SJung-uk Kim 501a9f12690SJung-uk Kim UINT32 502a9f12690SJung-uk Kim AcpiNsLocal ( 503a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type); 504a9f12690SJung-uk Kim 505a9f12690SJung-uk Kim void 506a9f12690SJung-uk Kim AcpiNsPrintNodePathname ( 507a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE *Node, 508a9f12690SJung-uk Kim const char *Msg); 509a9f12690SJung-uk Kim 510a9f12690SJung-uk Kim ACPI_STATUS 511a9f12690SJung-uk Kim AcpiNsBuildInternalName ( 512a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 513a9f12690SJung-uk Kim 514a9f12690SJung-uk Kim void 515a9f12690SJung-uk Kim AcpiNsGetInternalNameLength ( 516a9f12690SJung-uk Kim ACPI_NAMESTRING_INFO *Info); 517a9f12690SJung-uk Kim 518a9f12690SJung-uk Kim ACPI_STATUS 519a9f12690SJung-uk Kim AcpiNsInternalizeName ( 520a9f12690SJung-uk Kim const char *DottedName, 521a9f12690SJung-uk Kim char **ConvertedName); 522a9f12690SJung-uk Kim 523a9f12690SJung-uk Kim ACPI_STATUS 524a9f12690SJung-uk Kim AcpiNsExternalizeName ( 525a9f12690SJung-uk Kim UINT32 InternalNameLength, 526a9f12690SJung-uk Kim const char *InternalName, 527a9f12690SJung-uk Kim UINT32 *ConvertedNameLength, 528a9f12690SJung-uk Kim char **ConvertedName); 529a9f12690SJung-uk Kim 530a9f12690SJung-uk Kim ACPI_NAMESPACE_NODE * 531572c8255SJung-uk Kim AcpiNsValidateHandle ( 532a9f12690SJung-uk Kim ACPI_HANDLE Handle); 533a9f12690SJung-uk Kim 534a9f12690SJung-uk Kim void 535a9f12690SJung-uk Kim AcpiNsTerminate ( 536a9f12690SJung-uk Kim void); 537a9f12690SJung-uk Kim 538a9f12690SJung-uk Kim #endif /* __ACNAMESP_H__ */ 539