152#ifndef __ACNAMESP_H__
153#define __ACNAMESP_H__
158#define ACPI_NS_ALL ((ACPI_HANDLE)0)
164#define ACPI_NS_NORMAL 0
165#define ACPI_NS_NEWSCOPE 1
166#define ACPI_NS_LOCAL 2
170#define ACPI_NS_NO_UPSEARCH 0
171#define ACPI_NS_SEARCH_PARENT 0x0001
172#define ACPI_NS_DONT_OPEN_SCOPE 0x0002
173#define ACPI_NS_NO_PEER_SEARCH 0x0004
174#define ACPI_NS_ERROR_IF_FOUND 0x0008
175#define ACPI_NS_PREFIX_IS_SCOPE 0x0010
176#define ACPI_NS_EXTERNAL 0x0020
177#define ACPI_NS_TEMPORARY 0x0040
178#define ACPI_NS_OVERRIDE_IF_FOUND 0x0080
179#define ACPI_NS_EARLY_INIT 0x0100
180#define ACPI_NS_PREFIX_MUST_EXIST 0x0200
184#define ACPI_NS_WALK_NO_UNLOCK 0
185#define ACPI_NS_WALK_UNLOCK 0x01
186#define ACPI_NS_WALK_TEMP_NODES 0x02
190#define ACPI_NOT_PACKAGE_ELEMENT ACPI_UINT32_MAX
191#define ACPI_ALL_PACKAGE_ELEMENTS (ACPI_UINT32_MAX-1)
195#define ACPI_WARN_ALWAYS 0
202AcpiNsInitializeObjects (
206AcpiNsInitializeDevices (
210AcpiNsInitOnePackage (
211 ACPI_HANDLE ObjHandle,
226 ACPI_NAMESPACE_NODE *Node);
234 ACPI_OBJECT_TYPE Type,
235 ACPI_HANDLE StartObject,
238 ACPI_WALK_CALLBACK DescendingCallback,
239 ACPI_WALK_CALLBACK AscendingCallback,
245 ACPI_NAMESPACE_NODE *Parent,
246 ACPI_NAMESPACE_NODE *Child);
249AcpiNsGetNextNodeTyped (
250 ACPI_OBJECT_TYPE Type,
251 ACPI_NAMESPACE_NODE *Parent,
252 ACPI_NAMESPACE_NODE *Child);
260 ACPI_NAMESPACE_NODE *StartNode);
265 ACPI_NAMESPACE_NODE *StartNode);
268AcpiNsOneCompleteParse (
271 ACPI_NAMESPACE_NODE *StartNode);
278AcpiNsRootInitialize (
283 ACPI_GENERIC_STATE *ScopeInfo,
285 ACPI_OBJECT_TYPE Type,
286 ACPI_INTERPRETER_MODE InterpreterMode,
288 ACPI_WALK_STATE *WalkState,
289 ACPI_NAMESPACE_NODE **RetNode);
301 ACPI_NAMESPACE_NODE *Node);
305 ACPI_NAMESPACE_NODE *Node);
308AcpiNsDeleteNamespaceSubtree (
309 ACPI_NAMESPACE_NODE *ParentHandle);
312AcpiNsDeleteNamespaceByOwner (
313 ACPI_OWNER_ID OwnerId);
317 ACPI_NAMESPACE_NODE *Node);
320AcpiNsDeleteChildren (
321 ACPI_NAMESPACE_NODE *Parent);
333AcpiNsConvertToInteger (
334 ACPI_OPERAND_OBJECT *OriginalObject,
335 ACPI_OPERAND_OBJECT **ReturnObject);
338AcpiNsConvertToString (
339 ACPI_OPERAND_OBJECT *OriginalObject,
340 ACPI_OPERAND_OBJECT **ReturnObject);
343AcpiNsConvertToBuffer (
344 ACPI_OPERAND_OBJECT *OriginalObject,
345 ACPI_OPERAND_OBJECT **ReturnObject);
348AcpiNsConvertToUnicode (
349 ACPI_NAMESPACE_NODE *Scope,
350 ACPI_OPERAND_OBJECT *OriginalObject,
351 ACPI_OPERAND_OBJECT **ReturnObject);
354AcpiNsConvertToResource (
355 ACPI_NAMESPACE_NODE *Scope,
356 ACPI_OPERAND_OBJECT *OriginalObject,
357 ACPI_OPERAND_OBJECT **ReturnObject);
360AcpiNsConvertToReference (
361 ACPI_NAMESPACE_NODE *Scope,
362 ACPI_OPERAND_OBJECT *OriginalObject,
363 ACPI_OPERAND_OBJECT **ReturnObject);
371 ACPI_HANDLE SearchBase,
389 const char *Pathname);
393 ACPI_HANDLE ObjHandle,
400 ACPI_OBJECT_TYPE Type,
403 ACPI_OWNER_ID OwnerId,
404 ACPI_HANDLE StartHandle);
407AcpiNsDumpObjectPaths (
408 ACPI_OBJECT_TYPE Type,
411 ACPI_OWNER_ID OwnerId,
412 ACPI_HANDLE StartHandle);
420 ACPI_EVALUATE_INFO *Info);
427AcpiNsCheckArgumentCount (
429 ACPI_NAMESPACE_NODE *Node,
430 UINT32 UserParamCount,
431 const ACPI_PREDEFINED_INFO *Info);
434AcpiNsCheckAcpiCompliance (
436 ACPI_NAMESPACE_NODE *Node,
437 const ACPI_PREDEFINED_INFO *Predefined);
440AcpiNsCheckArgumentTypes (
441 ACPI_EVALUATE_INFO *Info);
448AcpiNsCheckReturnValue (
449 ACPI_NAMESPACE_NODE *Node,
450 ACPI_EVALUATE_INFO *Info,
451 UINT32 UserParamCount,
452 ACPI_STATUS ReturnStatus,
453 ACPI_OPERAND_OBJECT **ReturnObject);
456AcpiNsCheckObjectType (
457 ACPI_EVALUATE_INFO *Info,
458 ACPI_OPERAND_OBJECT **ReturnObjectPtr,
459 UINT32 ExpectedBtypes,
460 UINT32 PackageIndex);
468 ACPI_EVALUATE_INFO *Info,
469 ACPI_OPERAND_OBJECT **ReturnObjectPtr);
477 ACPI_OBJECT_TYPE Type);
480AcpiNsGetExternalPathname (
481 ACPI_NAMESPACE_NODE *Node);
484AcpiNsBuildNormalizedPath (
485 ACPI_NAMESPACE_NODE *Node,
491AcpiNsNormalizePathname (
495AcpiNsGetNormalizedPathname (
496 ACPI_NAMESPACE_NODE *Node,
500AcpiNsBuildPrefixedPathname (
501 ACPI_GENERIC_STATE *PrefixScope,
502 const char *InternalPath);
505AcpiNsNameOfCurrentScope (
506 ACPI_WALK_STATE *WalkState);
510 ACPI_HANDLE TargetHandle,
511 ACPI_BUFFER *Buffer);
514AcpiNsHandleToPathname (
515 ACPI_HANDLE TargetHandle,
521 ACPI_NAMESPACE_NODE *ObjNode,
525AcpiNsGetNodeUnlocked (
526 ACPI_NAMESPACE_NODE *PrefixNode,
527 const char *ExternalPathname,
529 ACPI_NAMESPACE_NODE **OutNode);
533 ACPI_NAMESPACE_NODE *PrefixNode,
534 const char *ExternalPathname,
536 ACPI_NAMESPACE_NODE **OutNode);
539AcpiNsGetPathnameLength (
540 ACPI_NAMESPACE_NODE *Node);
548 ACPI_NAMESPACE_NODE *Node,
549 ACPI_OPERAND_OBJECT *Object,
550 ACPI_OBJECT_TYPE Type);
553AcpiNsGetAttachedObject (
554 ACPI_NAMESPACE_NODE *Node);
557AcpiNsGetSecondaryObject (
558 ACPI_OPERAND_OBJECT *ObjDesc);
562 ACPI_NAMESPACE_NODE *Node,
563 ACPI_OBJECT_HANDLER Handler,
568 ACPI_NAMESPACE_NODE *Node,
569 ACPI_OBJECT_HANDLER Handler);
572AcpiNsGetAttachedData (
573 ACPI_NAMESPACE_NODE *Node,
574 ACPI_OBJECT_HANDLER Handler,
584 ACPI_EVALUATE_INFO *Info,
585 UINT32 ExpectedBtypes,
587 ACPI_OPERAND_OBJECT **ReturnObjectPtr);
590AcpiNsWrapWithPackage (
591 ACPI_EVALUATE_INFO *Info,
592 ACPI_OPERAND_OBJECT *OriginalObject,
593 ACPI_OPERAND_OBJECT **ObjDescPtr);
596AcpiNsRepairNullElement (
597 ACPI_EVALUATE_INFO *Info,
598 UINT32 ExpectedBtypes,
600 ACPI_OPERAND_OBJECT **ReturnObjectPtr);
603AcpiNsRemoveNullElements (
604 ACPI_EVALUATE_INFO *Info,
606 ACPI_OPERAND_OBJECT *ObjDesc);
614AcpiNsComplexRepairs (
615 ACPI_EVALUATE_INFO *Info,
616 ACPI_NAMESPACE_NODE *Node,
617 ACPI_STATUS ValidateStatus,
618 ACPI_OPERAND_OBJECT **ReturnObjectPtr);
625AcpiNsSearchAndEnter (
627 ACPI_WALK_STATE *WalkState,
628 ACPI_NAMESPACE_NODE *Node,
629 ACPI_INTERPRETER_MODE InterpreterMode,
630 ACPI_OBJECT_TYPE Type,
632 ACPI_NAMESPACE_NODE **RetNode);
635AcpiNsSearchOneScope (
637 ACPI_NAMESPACE_NODE *Node,
638 ACPI_OBJECT_TYPE Type,
639 ACPI_NAMESPACE_NODE **RetNode);
643 ACPI_WALK_STATE *WalkState,
644 ACPI_NAMESPACE_NODE *ParentNode,
645 ACPI_NAMESPACE_NODE *Node,
646 ACPI_OBJECT_TYPE Type);
654 ACPI_NAMESPACE_NODE *Node);
658 ACPI_OBJECT_TYPE Type);
661AcpiNsPrintNodePathname (
662 ACPI_NAMESPACE_NODE *Node,
666AcpiNsBuildInternalName (
667 ACPI_NAMESTRING_INFO *Info);
670AcpiNsGetInternalNameLength (
671 ACPI_NAMESTRING_INFO *Info);
674AcpiNsInternalizeName (
675 const char *DottedName,
676 char **ConvertedName);
679AcpiNsExternalizeName (
680 UINT32 InternalNameLength,
681 const char *InternalName,
682 UINT32 *ConvertedNameLength,
683 char **ConvertedName);
686AcpiNsValidateHandle (