50#ifdef ACPI_ASL_COMPILER
54#define _COMPONENT ACPI_NAMESPACE
107 AcpiGbl_RootNode = &AcpiGbl_RootNodeStruct;
112 "Entering predefined entries into namespace\n"));
135 if (!
strcmp (InitVal->
Name,
"_OSI") && !AcpiGbl_CreateOsiMethod)
158 AcpiGbl_RootNodeStruct.Child = NewNode;
162 PrevNode->
Peer = NewNode;
165 NewNode->
Parent = &AcpiGbl_RootNodeStruct;
178 "Could not override predefined %s",
203 switch (InitVal->
Type)
210#if defined (ACPI_ASL_COMPILER)
233 ObjDesc->
String.Pointer = Val;
255 AcpiGbl_GlobalLockMutex = ObjDesc;
260 1, 0, &AcpiGbl_GlobalLockSemaphore);
297 &AcpiGbl_FadtGpeDevice);
365 AcpiGbl_NsLookupCount++;
367 if (!AcpiGbl_RootNode)
378 "Null scope prefix, using root node (%p)\n",
381 PrefixNode = AcpiGbl_RootNode;
403 PrefixNode = PrefixNode->
Parent;
410 TypeToCheckFor =
Type;
420 ThisNode = AcpiGbl_RootNode;
424 "Null Pathname (Zero segments), Flags=%X\n",
Flags));
445 ThisNode = AcpiGbl_RootNode;
453 "Path is absolute from root [%p]\n", ThisNode));
460 "Searching relative to prefix scope [%4.4s] (%p)\n",
467 ThisNode = PrefixNode;
484 ThisNode = ThisNode->
Parent;
492 NULL, &ExternalPath);
496 "%s: Path has too many parent prefixes (^)",
509 "Search scope is [%4.4s], path has %u carat(s)\n",
538 "Prefix-only Pathname (Zero name segments), Flags=%X\n",
554 "Dual Pathname (2 segments, Flags=%X)\n",
Flags));
570 "Multi Pathname (%u Segments, Flags=%X)\n",
571 NumSegments,
Flags));
582 "Simple Pathname (1 segment, Flags=%X)\n",
Flags));
599 CurrentNode = ThisNode;
601 while (NumSegments && CurrentNode)
608 ThisSearchType =
Type;
637 LocalInterpreterMode = InterpreterMode;
652 LocalInterpreterMode, ThisSearchType,
LocalFlags, &ThisNode);
657#if !defined ACPI_ASL_COMPILER
661 "Object does not exist: %4.4s\n", (
char *) &SimpleName);
667 "Name [%4.4s] not found in scope [%4.4s] %p\n",
668 (
char *) &SimpleName, (
char *) &CurrentNode->
Name,
676 ThisNode->
Flags &= ~ANOBJ_NODE_EARLY_INIT;
681#ifdef ACPI_ASL_COMPILER
690 if (AcpiGbl_DisasmFlag &&
695 ThisNode->
Flags &= ~ANOBJ_IS_EXTERNAL;
705 *ReturnNode = ThisNode;
756 (ThisNode->
Type != TypeToCheckFor))
761 "NsLookup: Type mismatch on %4.4s (%s), searching for (%s)",
781 CurrentNode = ThisNode;
809 *ReturnNode = ThisNode;
PRTL_UNICODE_STRING_BUFFER Path
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
void AcpiDmMarkExternalConflict(ACPI_NAMESPACE_NODE *Node)
#define AE_ALREADY_EXISTS
const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames[NUM_PREDEFINED_NAMES]
#define ANOBJ_IS_EXTERNAL
#define ANOBJ_NODE_EARLY_INIT
#define ACPI_MTX_NAMESPACE
#define ACPI_ENTRY_NOT_FOUND
#define ACPI_GET_DESCRIPTOR_TYPE(d)
#define ACPI_MOVE_32_TO_32(d, s)
#define ACPI_NS_OVERRIDE_IF_FOUND
#define ACPI_NS_EARLY_INIT
ACPI_STATUS AcpiNsGetNode(ACPI_NAMESPACE_NODE *PrefixNode, const char *ExternalPathname, UINT32 Flags, ACPI_NAMESPACE_NODE **OutNode)
#define ACPI_NS_NO_UPSEARCH
#define ACPI_NS_ERROR_IF_FOUND
ACPI_STATUS AcpiNsSearchAndEnter(UINT32 EntryName, ACPI_WALK_STATE *WalkState, ACPI_NAMESPACE_NODE *Node, ACPI_INTERPRETER_MODE InterpreterMode, ACPI_OBJECT_TYPE Type, UINT32 Flags, ACPI_NAMESPACE_NODE **RetNode)
ACPI_STATUS AcpiNsExternalizeName(UINT32 InternalNameLength, const char *InternalName, UINT32 *ConvertedNameLength, char **ConvertedName)
#define ACPI_NS_PREFIX_IS_SCOPE
void AcpiNsPrintPathname(UINT32 NumSegments, const char *Pathname)
#define ACPI_NS_DONT_OPEN_SCOPE
ACPI_STATUS AcpiNsAttachObject(ACPI_NAMESPACE_NODE *Node, ACPI_OPERAND_OBJECT *Object, ACPI_OBJECT_TYPE Type)
#define ACPI_NS_SEARCH_PARENT
#define ACPI_NS_PREFIX_MUST_EXIST
UINT32 AcpiNsOpensScope(ACPI_OBJECT_TYPE Type)
ACPI_NAMESPACE_NODE * AcpiNsCreateNode(UINT32 Name)
#define ACPI_DESC_TYPE_NAMED
#define AOPOBJ_DATA_VALID
#define AOPOBJ_STATIC_POINTER
#define ACPI_METHOD_INTERNAL_ONLY
#define ACPI_DEBUG_PRINT(pl)
#define ACPI_DEBUG_EXEC(a)
#define ACPI_MODULE_NAME(Name)
#define ACPI_WARNING(plist)
#define return_ACPI_STATUS(s)
#define ACPI_FUNCTION_TRACE(a)
#define ACPI_ERROR(plist)
ACPI_STATUS AcpiOsPredefinedOverride(const ACPI_PREDEFINED_NAMES *InitVal, ACPI_STRING *NewVal)
ACPI_STATUS AcpiOsCreateSemaphore(UINT32 MaxUnits, UINT32 InitialUnits, ACPI_SEMAPHORE *OutHandle)
void ACPI_INTERNAL_VAR_XFACE AcpiOsPrintf(const char *Format,...)
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING Pathname
#define ACPI_TYPE_LOCAL_ALIAS
#define ACPI_TO_INTEGER(p)
#define ACPI_TYPE_INTEGER
#define ACPI_CAST_PTR(t, p)
#define ACPI_TYPE_LOCAL_METHOD_ALIAS
#define AcpiOsCreateMutex(OutHandle)
#define ACPI_TYPE_LOCAL_SCOPE
#define ACPI_NAMESEG_SIZE
#define AcpiUtCreateInternalObject(t)
#define ACPI_MSG_BIOS_ERROR
const char * AcpiUtGetTypeName(ACPI_OBJECT_TYPE Type)
ACPI_STATUS AcpiUtAcquireMutex(ACPI_MUTEX_HANDLE MutexId)
const char * AcpiUtGetNodeName(void *Object)
ACPI_STATUS AcpiUtReleaseMutex(ACPI_MUTEX_HANDLE MutexId)
void AcpiUtRemoveReference(ACPI_OPERAND_OBJECT *Object)
const char * AcpiUtGetDescriptorName(void *Object)
ACPI_STATUS AcpiUtOsiImplementation(ACPI_WALK_STATE *WalkState)
#define AML_PARENT_PREFIX
#define AML_DUAL_NAME_PREFIX
#define AML_MULTI_NAME_PREFIX
ACPI_STATUS AcpiDsScopeStackPush(ACPI_NAMESPACE_NODE *Node, ACPI_OBJECT_TYPE Type, ACPI_WALK_STATE *WalkState)
UINT NTAPI LocalFlags(HLOCAL hMem)
ACPI_STATUS AcpiNsRootInitialize(void)
ACPI_STATUS AcpiNsLookup(ACPI_GENERIC_STATE *ScopeInfo, char *Pathname, ACPI_OBJECT_TYPE Type, ACPI_INTERPRETER_MODE InterpreterMode, UINT32 Flags, ACPI_WALK_STATE *WalkState, ACPI_NAMESPACE_NODE **ReturnNode)
union acpi_operand_object * Object
struct acpi_namespace_node * Parent
struct acpi_namespace_node * Peer
ACPI_OBJECT_COMMON_HEADER UINT8 InfoFlags
ACPI_INTERNAL_METHOD Implementation
union acpi_object_method::@622 Dispatch
ACPI_OBJECT_COMMON_HEADER UINT8 SyncLevel
ACPI_NAMESPACE_NODE * Node
ACPI_STATE_COMMON ACPI_NAMESPACE_NODE * Node
ACPI_OBJECT_METHOD Method
ACPI_OBJECT_INTEGER Integer
ACPI_OBJECT_COMMON Common
ACPI_OBJECT_STRING String
_Must_inspect_result_ _In_ ULONG Flags