/******************************************************************************* * * FUNCTION: acpi_ns_dump_one_object * * PARAMETERS: obj_handle - Node to be dumped * level - Nesting level of the handle * context - Passed into walk_namespace * return_value - Not used * * RETURN: Status * * DESCRIPTION: Dump a single Node * This procedure is a user_function called by acpi_ns_walk_namespace. *
******************************************************************************/
/* If value is NOT an internal object, we are done */
if (ACPI_GET_DESCRIPTOR_TYPE(obj_desc) !=
ACPI_DESC_TYPE_OPERAND) { goto cleanup;
}
/* Valid object, get the pointer to next level, if any */
switch (obj_type) { case ACPI_TYPE_BUFFER: case ACPI_TYPE_STRING: /* * NOTE: takes advantage of common fields between string/buffer
*/
bytes_to_dump = obj_desc->string.length;
obj_desc = (void *)obj_desc->string.pointer;
/******************************************************************************* * * FUNCTION: acpi_ns_dump_objects * * PARAMETERS: type - Object type to be dumped * display_type - 0 or ACPI_DISPLAY_SUMMARY * max_depth - Maximum depth of dump. Use ACPI_UINT32_MAX * for an effectively unlimited depth. * owner_id - Dump only objects owned by this ID. Use * ACPI_UINT32_MAX to match all owners. * start_handle - Where in namespace to start/end search * * RETURN: None * * DESCRIPTION: Dump typed objects within the loaded namespace. Uses * acpi_ns_walk_namespace in conjunction with acpi_ns_dump_one_object. *
******************************************************************************/
/* * Just lock the entire namespace for the duration of the dump. * We don't want any changes to the namespace during this time, * especially the temporary nodes since we are going to display * them also.
*/
status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE); if (ACPI_FAILURE(status)) {
acpi_os_printf("Could not acquire namespace mutex\n"); return;
}
/******************************************************************************* * * FUNCTION: acpi_ns_dump_one_object_path, acpi_ns_get_max_depth * * PARAMETERS: obj_handle - Node to be dumped * level - Nesting level of the handle * context - Passed into walk_namespace * return_value - Not used * * RETURN: Status * * DESCRIPTION: Dump the full pathname to a namespace object. acp_ns_get_max_depth * computes the maximum nesting depth in the namespace tree, in * order to simplify formatting in acpi_ns_dump_one_object_path. * These procedures are user_functions called by acpi_ns_walk_namespace. *
******************************************************************************/
/******************************************************************************* * * FUNCTION: acpi_ns_dump_object_paths * * PARAMETERS: type - Object type to be dumped * display_type - 0 or ACPI_DISPLAY_SUMMARY * max_depth - Maximum depth of dump. Use ACPI_UINT32_MAX * for an effectively unlimited depth. * owner_id - Dump only objects owned by this ID. Use * ACPI_UINT32_MAX to match all owners. * start_handle - Where in namespace to start/end search * * RETURN: None * * DESCRIPTION: Dump full object pathnames within the loaded namespace. Uses * acpi_ns_walk_namespace in conjunction with acpi_ns_dump_one_object_path. *
******************************************************************************/
/* * Just lock the entire namespace for the duration of the dump. * We don't want any changes to the namespace during this time, * especially the temporary nodes since we are going to display * them also.
*/
status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE); if (ACPI_FAILURE(status)) {
acpi_os_printf("Could not acquire namespace mutex\n"); return;
}
/* Get the max depth of the namespace tree, for formatting later */
#ifdef ACPI_ASL_COMPILER /******************************************************************************* * * FUNCTION: acpi_ns_dump_tables * * PARAMETERS: search_base - Root of subtree to be dumped, or * NS_ALL to dump the entire namespace * max_depth - Maximum depth of dump. Use INT_MAX * for an effectively unlimited depth. * * RETURN: None * * DESCRIPTION: Dump the name space, or a portion of it. *
******************************************************************************/
if (!acpi_gbl_root_node) { /* * If the name space has not been initialized, * there is nothing to dump.
*/
ACPI_DEBUG_PRINT((ACPI_DB_TABLES, "namespace not initialized!\n"));
return_VOID;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.