167754Smsmith/****************************************************************************** 267754Smsmith * 367754Smsmith * Name: acnamesp.h - Namespace subcomponent prototypes and defines 467754Smsmith * 567754Smsmith *****************************************************************************/ 667754Smsmith 7217365Sjkim/* 8306536Sjkim * Copyright (C) 2000 - 2016, Intel Corp. 970243Smsmith * All rights reserved. 1067754Smsmith * 11217365Sjkim * Redistribution and use in source and binary forms, with or without 12217365Sjkim * modification, are permitted provided that the following conditions 13217365Sjkim * are met: 14217365Sjkim * 1. Redistributions of source code must retain the above copyright 15217365Sjkim * notice, this list of conditions, and the following disclaimer, 16217365Sjkim * without modification. 17217365Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18217365Sjkim * substantially similar to the "NO WARRANTY" disclaimer below 19217365Sjkim * ("Disclaimer") and any redistribution must be conditioned upon 20217365Sjkim * including a substantially similar Disclaimer requirement for further 21217365Sjkim * binary redistribution. 22217365Sjkim * 3. Neither the names of the above-listed copyright holders nor the names 23217365Sjkim * of any contributors may be used to endorse or promote products derived 24217365Sjkim * from this software without specific prior written permission. 2567754Smsmith * 26217365Sjkim * Alternatively, this software may be distributed under the terms of the 27217365Sjkim * GNU General Public License ("GPL") version 2 as published by the Free 28217365Sjkim * Software Foundation. 2967754Smsmith * 30217365Sjkim * NO WARRANTY 31217365Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32217365Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33217365Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34217365Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35217365Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36217365Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37217365Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38217365Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39217365Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40217365Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41217365Sjkim * POSSIBILITY OF SUCH DAMAGES. 42217365Sjkim */ 4367754Smsmith 4467754Smsmith#ifndef __ACNAMESP_H__ 4567754Smsmith#define __ACNAMESP_H__ 4667754Smsmith 4767754Smsmith 4867754Smsmith/* To search the entire name space, pass this as SearchBase */ 4967754Smsmith 5091116Smsmith#define ACPI_NS_ALL ((ACPI_HANDLE)0) 5167754Smsmith 5267754Smsmith/* 5367754Smsmith * Elements of AcpiNsProperties are bit significant 5467754Smsmith * and should be one-to-one with values of ACPI_OBJECT_TYPE 5567754Smsmith */ 5691116Smsmith#define ACPI_NS_NORMAL 0 5791116Smsmith#define ACPI_NS_NEWSCOPE 1 /* a definition of this type opens a name scope */ 5891116Smsmith#define ACPI_NS_LOCAL 2 /* suppress search of enclosing scopes */ 5967754Smsmith 6067754Smsmith/* Flags for AcpiNsLookup, AcpiNsSearchAndEnter */ 6167754Smsmith 6291116Smsmith#define ACPI_NS_NO_UPSEARCH 0 6391116Smsmith#define ACPI_NS_SEARCH_PARENT 0x01 6491116Smsmith#define ACPI_NS_DONT_OPEN_SCOPE 0x02 6591116Smsmith#define ACPI_NS_NO_PEER_SEARCH 0x04 6691116Smsmith#define ACPI_NS_ERROR_IF_FOUND 0x08 67167802Sjkim#define ACPI_NS_PREFIX_IS_SCOPE 0x10 68167802Sjkim#define ACPI_NS_EXTERNAL 0x20 69167802Sjkim#define ACPI_NS_TEMPORARY 0x40 70306536Sjkim#define ACPI_NS_OVERRIDE_IF_FOUND 0x80 7167754Smsmith 72167802Sjkim/* Flags for AcpiNsWalkNamespace */ 7367754Smsmith 74167802Sjkim#define ACPI_NS_WALK_NO_UNLOCK 0 75167802Sjkim#define ACPI_NS_WALK_UNLOCK 0x01 76167802Sjkim#define ACPI_NS_WALK_TEMP_NODES 0x02 7767754Smsmith 78197104Sjkim/* Object is not a package element */ 79167802Sjkim 80197104Sjkim#define ACPI_NOT_PACKAGE_ELEMENT ACPI_UINT32_MAX 81306536Sjkim#define ACPI_ALL_PACKAGE_ELEMENTS (ACPI_UINT32_MAX-1) 82197104Sjkim 83197104Sjkim/* Always emit warning message, not dependent on node flags */ 84197104Sjkim 85197104Sjkim#define ACPI_WARN_ALWAYS 0 86197104Sjkim 87197104Sjkim 88151937Sjkim/* 89151937Sjkim * nsinit - Namespace initialization 90151937Sjkim */ 9167754SmsmithACPI_STATUS 9267754SmsmithAcpiNsInitializeObjects ( 9367754Smsmith void); 9467754Smsmith 9567754SmsmithACPI_STATUS 9667754SmsmithAcpiNsInitializeDevices ( 97306536Sjkim UINT32 Flags); 9867754Smsmith 9967754Smsmith 100151937Sjkim/* 101151937Sjkim * nsload - Namespace loading 102151937Sjkim */ 10367754SmsmithACPI_STATUS 104151937SjkimAcpiNsLoadNamespace ( 105151937Sjkim void); 10667754Smsmith 10767754SmsmithACPI_STATUS 108151937SjkimAcpiNsLoadTable ( 109193267Sjkim UINT32 TableIndex, 110151937Sjkim ACPI_NAMESPACE_NODE *Node); 11167754Smsmith 11267754Smsmith 113151937Sjkim/* 114151937Sjkim * nswalk - walk the namespace 115151937Sjkim */ 11667754SmsmithACPI_STATUS 11767754SmsmithAcpiNsWalkNamespace ( 11891116Smsmith ACPI_OBJECT_TYPE Type, 11967754Smsmith ACPI_HANDLE StartObject, 12067754Smsmith UINT32 MaxDepth, 121167802Sjkim UINT32 Flags, 122253690Sjkim ACPI_WALK_CALLBACK DescendingCallback, 123253690Sjkim ACPI_WALK_CALLBACK AscendingCallback, 12467754Smsmith void *Context, 12567754Smsmith void **ReturnValue); 12667754Smsmith 12767754SmsmithACPI_NAMESPACE_NODE * 12885756SmsmithAcpiNsGetNextNode ( 129193267Sjkim ACPI_NAMESPACE_NODE *Parent, 130193267Sjkim ACPI_NAMESPACE_NODE *Child); 131193267Sjkim 132193267SjkimACPI_NAMESPACE_NODE * 133193267SjkimAcpiNsGetNextNodeTyped ( 13491116Smsmith ACPI_OBJECT_TYPE Type, 13567754Smsmith ACPI_NAMESPACE_NODE *Parent, 13667754Smsmith ACPI_NAMESPACE_NODE *Child); 13767754Smsmith 138151937Sjkim/* 139151937Sjkim * nsparse - table parsing 140151937Sjkim */ 14167754SmsmithACPI_STATUS 14267754SmsmithAcpiNsParseTable ( 143193267Sjkim UINT32 TableIndex, 144167802Sjkim ACPI_NAMESPACE_NODE *StartNode); 14567754Smsmith 14667754SmsmithACPI_STATUS 147151937SjkimAcpiNsOneCompleteParse ( 148193267Sjkim UINT32 PassNumber, 149193267Sjkim UINT32 TableIndex, 150193267Sjkim ACPI_NAMESPACE_NODE *StartNode); 15167754Smsmith 15267754Smsmith 15367754Smsmith/* 154151937Sjkim * nsaccess - Top-level namespace access 15567754Smsmith */ 15667754SmsmithACPI_STATUS 15767754SmsmithAcpiNsRootInitialize ( 15867754Smsmith void); 15967754Smsmith 16067754SmsmithACPI_STATUS 16167754SmsmithAcpiNsLookup ( 16267754Smsmith ACPI_GENERIC_STATE *ScopeInfo, 163114237Snjl char *Name, 16491116Smsmith ACPI_OBJECT_TYPE Type, 16591116Smsmith ACPI_INTERPRETER_MODE InterpreterMode, 16667754Smsmith UINT32 Flags, 16767754Smsmith ACPI_WALK_STATE *WalkState, 16867754Smsmith ACPI_NAMESPACE_NODE **RetNode); 16967754Smsmith 17067754Smsmith 17167754Smsmith/* 172151937Sjkim * nsalloc - Named object allocation/deallocation 17367754Smsmith */ 17467754SmsmithACPI_NAMESPACE_NODE * 17567754SmsmithAcpiNsCreateNode ( 17684491Smsmith UINT32 Name); 17767754Smsmith 17867754Smsmithvoid 17967754SmsmithAcpiNsDeleteNode ( 18067754Smsmith ACPI_NAMESPACE_NODE *Node); 18167754Smsmith 18299679Siwasakivoid 183197104SjkimAcpiNsRemoveNode ( 184197104Sjkim ACPI_NAMESPACE_NODE *Node); 185197104Sjkim 186197104Sjkimvoid 18767754SmsmithAcpiNsDeleteNamespaceSubtree ( 18867754Smsmith ACPI_NAMESPACE_NODE *ParentHandle); 18967754Smsmith 19067754Smsmithvoid 191151937SjkimAcpiNsDeleteNamespaceByOwner ( 192151937Sjkim ACPI_OWNER_ID OwnerId); 193151937Sjkim 194151937Sjkimvoid 19567754SmsmithAcpiNsDetachObject ( 19667754Smsmith ACPI_NAMESPACE_NODE *Node); 19767754Smsmith 19867754Smsmithvoid 19967754SmsmithAcpiNsDeleteChildren ( 20067754Smsmith ACPI_NAMESPACE_NODE *Parent); 20167754Smsmith 202107325Siwasakiint 203107325SiwasakiAcpiNsCompareNames ( 204107325Siwasaki char *Name1, 205107325Siwasaki char *Name2); 20667754Smsmith 207117521Snjl 20867754Smsmith/* 209246849Sjkim * nsconvert - Dynamic object conversion routines 210246849Sjkim */ 211246849SjkimACPI_STATUS 212246849SjkimAcpiNsConvertToInteger ( 213246849Sjkim ACPI_OPERAND_OBJECT *OriginalObject, 214246849Sjkim ACPI_OPERAND_OBJECT **ReturnObject); 215246849Sjkim 216246849SjkimACPI_STATUS 217246849SjkimAcpiNsConvertToString ( 218246849Sjkim ACPI_OPERAND_OBJECT *OriginalObject, 219246849Sjkim ACPI_OPERAND_OBJECT **ReturnObject); 220246849Sjkim 221246849SjkimACPI_STATUS 222246849SjkimAcpiNsConvertToBuffer ( 223246849Sjkim ACPI_OPERAND_OBJECT *OriginalObject, 224246849Sjkim ACPI_OPERAND_OBJECT **ReturnObject); 225246849Sjkim 226246849SjkimACPI_STATUS 227246849SjkimAcpiNsConvertToUnicode ( 228306536Sjkim ACPI_NAMESPACE_NODE *Scope, 229246849Sjkim ACPI_OPERAND_OBJECT *OriginalObject, 230246849Sjkim ACPI_OPERAND_OBJECT **ReturnObject); 231246849Sjkim 232246849SjkimACPI_STATUS 233246849SjkimAcpiNsConvertToResource ( 234306536Sjkim ACPI_NAMESPACE_NODE *Scope, 235246849Sjkim ACPI_OPERAND_OBJECT *OriginalObject, 236246849Sjkim ACPI_OPERAND_OBJECT **ReturnObject); 237246849Sjkim 238306536SjkimACPI_STATUS 239306536SjkimAcpiNsConvertToReference ( 240306536Sjkim ACPI_NAMESPACE_NODE *Scope, 241306536Sjkim ACPI_OPERAND_OBJECT *OriginalObject, 242306536Sjkim ACPI_OPERAND_OBJECT **ReturnObject); 243246849Sjkim 244306536Sjkim 245246849Sjkim/* 246151937Sjkim * nsdump - Namespace dump/print utilities 24767754Smsmith */ 24867754Smsmithvoid 24967754SmsmithAcpiNsDumpTables ( 25067754Smsmith ACPI_HANDLE SearchBase, 25167754Smsmith UINT32 MaxDepth); 25267754Smsmith 25367754Smsmithvoid 25467754SmsmithAcpiNsDumpEntry ( 25567754Smsmith ACPI_HANDLE Handle, 25667754Smsmith UINT32 DebugLevel); 25767754Smsmith 258114237Snjlvoid 25967754SmsmithAcpiNsDumpPathname ( 26067754Smsmith ACPI_HANDLE Handle, 261306536Sjkim const char *Msg, 26267754Smsmith UINT32 Level, 26367754Smsmith UINT32 Component); 26467754Smsmith 26567754Smsmithvoid 26687031SmsmithAcpiNsPrintPathname ( 26787031Smsmith UINT32 NumSegments, 268306536Sjkim const char *Pathname); 26987031Smsmith 27099679SiwasakiACPI_STATUS 27199679SiwasakiAcpiNsDumpOneObject ( 27299679Siwasaki ACPI_HANDLE ObjHandle, 27399679Siwasaki UINT32 Level, 27499679Siwasaki void *Context, 27599679Siwasaki void **ReturnValue); 27699679Siwasaki 27767754Smsmithvoid 27867754SmsmithAcpiNsDumpObjects ( 27991116Smsmith ACPI_OBJECT_TYPE Type, 28085756Smsmith UINT8 DisplayType, 28167754Smsmith UINT32 MaxDepth, 282151937Sjkim ACPI_OWNER_ID OwnerId, 28367754Smsmith ACPI_HANDLE StartHandle); 28467754Smsmith 285254745Sjkimvoid 286254745SjkimAcpiNsDumpObjectPaths ( 287254745Sjkim ACPI_OBJECT_TYPE Type, 288254745Sjkim UINT8 DisplayType, 289254745Sjkim UINT32 MaxDepth, 290254745Sjkim ACPI_OWNER_ID OwnerId, 291254745Sjkim ACPI_HANDLE StartHandle); 29267754Smsmith 293254745Sjkim 29467754Smsmith/* 295151937Sjkim * nseval - Namespace evaluation functions 29667754Smsmith */ 29767754SmsmithACPI_STATUS 298167802SjkimAcpiNsEvaluate ( 299167802Sjkim ACPI_EVALUATE_INFO *Info); 30067754Smsmith 301197104Sjkimvoid 302197104SjkimAcpiNsExecModuleCodeList ( 303197104Sjkim void); 30467754Smsmith 305197104Sjkim 30667754Smsmith/* 307249663Sjkim * nsarguments - Argument count/type checking for predefined/reserved names 308193267Sjkim */ 309193267Sjkimvoid 310249663SjkimAcpiNsCheckArgumentCount ( 311193267Sjkim char *Pathname, 312193267Sjkim ACPI_NAMESPACE_NODE *Node, 313193267Sjkim UINT32 UserParamCount, 314193267Sjkim const ACPI_PREDEFINED_INFO *Info); 315193267Sjkim 316249663Sjkimvoid 317249663SjkimAcpiNsCheckAcpiCompliance ( 318249663Sjkim char *Pathname, 319249663Sjkim ACPI_NAMESPACE_NODE *Node, 320249663Sjkim const ACPI_PREDEFINED_INFO *Predefined); 321249663Sjkim 322249663Sjkimvoid 323249663SjkimAcpiNsCheckArgumentTypes ( 324249663Sjkim ACPI_EVALUATE_INFO *Info); 325249663Sjkim 326249663Sjkim 327249663Sjkim/* 328249663Sjkim * nspredef - Return value checking for predefined/reserved names 329249663Sjkim */ 330245582SjkimACPI_STATUS 331249663SjkimAcpiNsCheckReturnValue ( 332249663Sjkim ACPI_NAMESPACE_NODE *Node, 333249663Sjkim ACPI_EVALUATE_INFO *Info, 334249663Sjkim UINT32 UserParamCount, 335249663Sjkim ACPI_STATUS ReturnStatus, 336249663Sjkim ACPI_OPERAND_OBJECT **ReturnObject); 337249663Sjkim 338249663SjkimACPI_STATUS 339245582SjkimAcpiNsCheckObjectType ( 340249663Sjkim ACPI_EVALUATE_INFO *Info, 341245582Sjkim ACPI_OPERAND_OBJECT **ReturnObjectPtr, 342245582Sjkim UINT32 ExpectedBtypes, 343245582Sjkim UINT32 PackageIndex); 344193267Sjkim 345245582Sjkim 346193267Sjkim/* 347245582Sjkim * nsprepkg - Validation of predefined name packages 348245582Sjkim */ 349245582SjkimACPI_STATUS 350245582SjkimAcpiNsCheckPackage ( 351249663Sjkim ACPI_EVALUATE_INFO *Info, 352245582Sjkim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 353245582Sjkim 354245582Sjkim 355245582Sjkim/* 356151937Sjkim * nsnames - Name and Scope manipulation 35767754Smsmith */ 35867754SmsmithUINT32 35967754SmsmithAcpiNsOpensScope ( 36091116Smsmith ACPI_OBJECT_TYPE Type); 36167754Smsmith 362114237Snjlchar * 36391116SmsmithAcpiNsGetExternalPathname ( 36467754Smsmith ACPI_NAMESPACE_NODE *Node); 36567754Smsmith 366306536SjkimUINT32 367306536SjkimAcpiNsBuildNormalizedPath ( 368306536Sjkim ACPI_NAMESPACE_NODE *Node, 369306536Sjkim char *FullPath, 370306536Sjkim UINT32 PathSize, 371306536Sjkim BOOLEAN NoTrailing); 372306536Sjkim 373114237Snjlchar * 374306536SjkimAcpiNsGetNormalizedPathname ( 375306536Sjkim ACPI_NAMESPACE_NODE *Node, 376306536Sjkim BOOLEAN NoTrailing); 377306536Sjkim 378306536Sjkimchar * 37967754SmsmithAcpiNsNameOfCurrentScope ( 38067754Smsmith ACPI_WALK_STATE *WalkState); 38167754Smsmith 38267754SmsmithACPI_STATUS 38367754SmsmithAcpiNsHandleToPathname ( 38491116Smsmith ACPI_HANDLE TargetHandle, 385306536Sjkim ACPI_BUFFER *Buffer, 386306536Sjkim BOOLEAN NoTrailing); 38767754Smsmith 38867754SmsmithBOOLEAN 38967754SmsmithAcpiNsPatternMatch ( 39067754Smsmith ACPI_NAMESPACE_NODE *ObjNode, 391114237Snjl char *SearchFor); 39267754Smsmith 39367754SmsmithACPI_STATUS 394167802SjkimAcpiNsGetNode ( 395167802Sjkim ACPI_NAMESPACE_NODE *PrefixNode, 396193267Sjkim const char *ExternalPathname, 39791116Smsmith UINT32 Flags, 39867754Smsmith ACPI_NAMESPACE_NODE **OutNode); 39967754Smsmith 40091116SmsmithACPI_SIZE 40173561SmsmithAcpiNsGetPathnameLength ( 40273561Smsmith ACPI_NAMESPACE_NODE *Node); 40373561Smsmith 40473561Smsmith 40567754Smsmith/* 406151937Sjkim * nsobject - Object management for namespace nodes 40767754Smsmith */ 40867754SmsmithACPI_STATUS 40967754SmsmithAcpiNsAttachObject ( 41067754Smsmith ACPI_NAMESPACE_NODE *Node, 41167754Smsmith ACPI_OPERAND_OBJECT *Object, 41291116Smsmith ACPI_OBJECT_TYPE Type); 41367754Smsmith 41487031SmsmithACPI_OPERAND_OBJECT * 41587031SmsmithAcpiNsGetAttachedObject ( 41687031Smsmith ACPI_NAMESPACE_NODE *Node); 41767754Smsmith 41887031SmsmithACPI_OPERAND_OBJECT * 41987031SmsmithAcpiNsGetSecondaryObject ( 42087031Smsmith ACPI_OPERAND_OBJECT *ObjDesc); 42187031Smsmith 42287031SmsmithACPI_STATUS 42387031SmsmithAcpiNsAttachData ( 42487031Smsmith ACPI_NAMESPACE_NODE *Node, 42587031Smsmith ACPI_OBJECT_HANDLER Handler, 42687031Smsmith void *Data); 42787031Smsmith 42887031SmsmithACPI_STATUS 42987031SmsmithAcpiNsDetachData ( 43087031Smsmith ACPI_NAMESPACE_NODE *Node, 43187031Smsmith ACPI_OBJECT_HANDLER Handler); 43287031Smsmith 43387031SmsmithACPI_STATUS 43487031SmsmithAcpiNsGetAttachedData ( 43587031Smsmith ACPI_NAMESPACE_NODE *Node, 43687031Smsmith ACPI_OBJECT_HANDLER Handler, 43787031Smsmith void **Data); 43887031Smsmith 43987031Smsmith 44067754Smsmith/* 441199337Sjkim * nsrepair - General return object repair for all 442199337Sjkim * predefined methods/objects 443197104Sjkim */ 444197104SjkimACPI_STATUS 445246849SjkimAcpiNsSimpleRepair ( 446249663Sjkim ACPI_EVALUATE_INFO *Info, 447197104Sjkim UINT32 ExpectedBtypes, 448197104Sjkim UINT32 PackageIndex, 449197104Sjkim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 450197104Sjkim 451197104SjkimACPI_STATUS 452233617SjkimAcpiNsWrapWithPackage ( 453249663Sjkim ACPI_EVALUATE_INFO *Info, 454233617Sjkim ACPI_OPERAND_OBJECT *OriginalObject, 455197104Sjkim ACPI_OPERAND_OBJECT **ObjDescPtr); 456197104Sjkim 457202771SjkimACPI_STATUS 458202771SjkimAcpiNsRepairNullElement ( 459249663Sjkim ACPI_EVALUATE_INFO *Info, 460202771Sjkim UINT32 ExpectedBtypes, 461202771Sjkim UINT32 PackageIndex, 462202771Sjkim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 463197104Sjkim 464202771Sjkimvoid 465202771SjkimAcpiNsRemoveNullElements ( 466249663Sjkim ACPI_EVALUATE_INFO *Info, 467202771Sjkim UINT8 PackageType, 468202771Sjkim ACPI_OPERAND_OBJECT *ObjDesc); 469202771Sjkim 470202771Sjkim 471197104Sjkim/* 472199337Sjkim * nsrepair2 - Return object repair for specific 473199337Sjkim * predefined methods/objects 474199337Sjkim */ 475199337SjkimACPI_STATUS 476199337SjkimAcpiNsComplexRepairs ( 477249663Sjkim ACPI_EVALUATE_INFO *Info, 478199337Sjkim ACPI_NAMESPACE_NODE *Node, 479199337Sjkim ACPI_STATUS ValidateStatus, 480199337Sjkim ACPI_OPERAND_OBJECT **ReturnObjectPtr); 481199337Sjkim 482199337Sjkim 483199337Sjkim/* 484151937Sjkim * nssearch - Namespace searching and entry 48567754Smsmith */ 48667754SmsmithACPI_STATUS 48767754SmsmithAcpiNsSearchAndEnter ( 48867754Smsmith UINT32 EntryName, 48967754Smsmith ACPI_WALK_STATE *WalkState, 49067754Smsmith ACPI_NAMESPACE_NODE *Node, 49191116Smsmith ACPI_INTERPRETER_MODE InterpreterMode, 49291116Smsmith ACPI_OBJECT_TYPE Type, 49367754Smsmith UINT32 Flags, 49467754Smsmith ACPI_NAMESPACE_NODE **RetNode); 49567754Smsmith 49667754SmsmithACPI_STATUS 497167802SjkimAcpiNsSearchOneScope ( 49867754Smsmith UINT32 EntryName, 49967754Smsmith ACPI_NAMESPACE_NODE *Node, 50091116Smsmith ACPI_OBJECT_TYPE Type, 50167754Smsmith ACPI_NAMESPACE_NODE **RetNode); 50267754Smsmith 50367754Smsmithvoid 50467754SmsmithAcpiNsInstallNode ( 50567754Smsmith ACPI_WALK_STATE *WalkState, 506107325Siwasaki ACPI_NAMESPACE_NODE *ParentNode, 507107325Siwasaki ACPI_NAMESPACE_NODE *Node, 50891116Smsmith ACPI_OBJECT_TYPE Type); 50967754Smsmith 51067754Smsmith 51167754Smsmith/* 512151937Sjkim * nsutils - Utility functions 51367754Smsmith */ 51491116SmsmithACPI_OBJECT_TYPE 51567754SmsmithAcpiNsGetType ( 51677424Smsmith ACPI_NAMESPACE_NODE *Node); 51767754Smsmith 51867754SmsmithUINT32 51967754SmsmithAcpiNsLocal ( 52091116Smsmith ACPI_OBJECT_TYPE Type); 52167754Smsmith 522104470Siwasakivoid 523114237SnjlAcpiNsPrintNodePathname ( 524114237Snjl ACPI_NAMESPACE_NODE *Node, 525193267Sjkim const char *Msg); 526114237Snjl 52767754SmsmithACPI_STATUS 52877424SmsmithAcpiNsBuildInternalName ( 52977424Smsmith ACPI_NAMESTRING_INFO *Info); 53077424Smsmith 53199679Siwasakivoid 53277424SmsmithAcpiNsGetInternalNameLength ( 53377424Smsmith ACPI_NAMESTRING_INFO *Info); 53477424Smsmith 53577424SmsmithACPI_STATUS 53667754SmsmithAcpiNsInternalizeName ( 537193267Sjkim const char *DottedName, 538114237Snjl char **ConvertedName); 53967754Smsmith 54067754SmsmithACPI_STATUS 54167754SmsmithAcpiNsExternalizeName ( 54267754Smsmith UINT32 InternalNameLength, 543193267Sjkim const char *InternalName, 54467754Smsmith UINT32 *ConvertedNameLength, 545114237Snjl char **ConvertedName); 54667754Smsmith 54767754SmsmithACPI_NAMESPACE_NODE * 548200553SjkimAcpiNsValidateHandle ( 54967754Smsmith ACPI_HANDLE Handle); 55067754Smsmith 55167754Smsmithvoid 55267754SmsmithAcpiNsTerminate ( 55367754Smsmith void); 55467754Smsmith 55567754Smsmith#endif /* __ACNAMESP_H__ */ 556