acutils.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:13k
- /******************************************************************************
- *
- * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures
- * $Revision: 117 $
- *
- *****************************************************************************/
- /*
- * Copyright (C) 2000, 2001 R. Byron Moore
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
- #ifndef _ACUTILS_H
- #define _ACUTILS_H
- typedef
- acpi_status (*ACPI_PKG_CALLBACK) (
- u8 object_type,
- acpi_operand_object *source_object,
- acpi_generic_state *state,
- void *context);
- acpi_status
- acpi_ut_walk_package_tree (
- acpi_operand_object *source_object,
- void *target_object,
- ACPI_PKG_CALLBACK walk_callback,
- void *context);
- typedef struct acpi_pkg_info
- {
- u8 *free_space;
- u32 length;
- u32 object_space;
- u32 num_packages;
- } acpi_pkg_info;
- #define REF_INCREMENT (u16) 0
- #define REF_DECREMENT (u16) 1
- #define REF_FORCE_DELETE (u16) 2
- /* Acpi_ut_dump_buffer */
- #define DB_BYTE_DISPLAY 1
- #define DB_WORD_DISPLAY 2
- #define DB_DWORD_DISPLAY 4
- #define DB_QWORD_DISPLAY 8
- /* Global initialization interfaces */
- void
- acpi_ut_init_globals (
- void);
- void
- acpi_ut_terminate (
- void);
- /*
- * Ut_init - miscellaneous initialization and shutdown
- */
- acpi_status
- acpi_ut_hardware_initialize (
- void);
- acpi_status
- acpi_ut_subsystem_shutdown (
- void);
- acpi_status
- acpi_ut_validate_fadt (
- void);
- /*
- * Ut_global - Global data structures and procedures
- */
- #ifdef ACPI_DEBUG
- NATIVE_CHAR *
- acpi_ut_get_mutex_name (
- u32 mutex_id);
- NATIVE_CHAR *
- acpi_ut_get_type_name (
- u32 type);
- NATIVE_CHAR *
- acpi_ut_get_region_name (
- u8 space_id);
- #endif
- u8
- acpi_ut_hex_to_ascii_char (
- acpi_integer integer,
- u32 position);
- u8
- acpi_ut_valid_object_type (
- u32 type);
- acpi_owner_id
- acpi_ut_allocate_owner_id (
- u32 id_type);
- /*
- * Ut_clib - Local implementations of C library functions
- */
- #ifndef ACPI_USE_SYSTEM_CLIBRARY
- u32
- acpi_ut_strlen (
- const NATIVE_CHAR *string);
- NATIVE_CHAR *
- acpi_ut_strcpy (
- NATIVE_CHAR *dst_string,
- const NATIVE_CHAR *src_string);
- NATIVE_CHAR *
- acpi_ut_strncpy (
- NATIVE_CHAR *dst_string,
- const NATIVE_CHAR *src_string,
- NATIVE_UINT count);
- u32
- acpi_ut_strncmp (
- const NATIVE_CHAR *string1,
- const NATIVE_CHAR *string2,
- NATIVE_UINT count);
- u32
- acpi_ut_strcmp (
- const NATIVE_CHAR *string1,
- const NATIVE_CHAR *string2);
- NATIVE_CHAR *
- acpi_ut_strcat (
- NATIVE_CHAR *dst_string,
- const NATIVE_CHAR *src_string);
- NATIVE_CHAR *
- acpi_ut_strncat (
- NATIVE_CHAR *dst_string,
- const NATIVE_CHAR *src_string,
- NATIVE_UINT count);
- u32
- acpi_ut_strtoul (
- const NATIVE_CHAR *string,
- NATIVE_CHAR **terminator,
- u32 base);
- NATIVE_CHAR *
- acpi_ut_strstr (
- NATIVE_CHAR *string1,
- NATIVE_CHAR *string2);
- void *
- acpi_ut_memcpy (
- void *dest,
- const void *src,
- NATIVE_UINT count);
- void *
- acpi_ut_memset (
- void *dest,
- NATIVE_UINT value,
- NATIVE_UINT count);
- u32
- acpi_ut_to_upper (
- u32 c);
- u32
- acpi_ut_to_lower (
- u32 c);
- #endif /* ACPI_USE_SYSTEM_CLIBRARY */
- /*
- * Ut_copy - Object construction and conversion interfaces
- */
- acpi_status
- acpi_ut_build_simple_object(
- acpi_operand_object *obj,
- acpi_object *user_obj,
- u8 *data_space,
- u32 *buffer_space_used);
- acpi_status
- acpi_ut_build_package_object (
- acpi_operand_object *obj,
- u8 *buffer,
- u32 *space_used);
- acpi_status
- acpi_ut_copy_iobject_to_eobject (
- acpi_operand_object *obj,
- acpi_buffer *ret_buffer);
- acpi_status
- acpi_ut_copy_esimple_to_isimple(
- acpi_object *user_obj,
- acpi_operand_object **return_obj);
- acpi_status
- acpi_ut_copy_eobject_to_iobject (
- acpi_object *obj,
- acpi_operand_object **internal_obj);
- acpi_status
- acpi_ut_copy_isimple_to_isimple (
- acpi_operand_object *source_obj,
- acpi_operand_object *dest_obj);
- acpi_status
- acpi_ut_copy_ipackage_to_ipackage (
- acpi_operand_object *source_obj,
- acpi_operand_object *dest_obj,
- acpi_walk_state *walk_state);
- /*
- * Ut_create - Object creation
- */
- acpi_status
- acpi_ut_update_object_reference (
- acpi_operand_object *object,
- u16 action);
- /*
- * Ut_debug - Debug interfaces
- */
- void
- acpi_ut_init_stack_ptr_trace (
- void);
- void
- acpi_ut_track_stack_ptr (
- void);
- void
- acpi_ut_trace (
- u32 line_number,
- acpi_debug_print_info *dbg_info);
- void
- acpi_ut_trace_ptr (
- u32 line_number,
- acpi_debug_print_info *dbg_info,
- void *pointer);
- void
- acpi_ut_trace_u32 (
- u32 line_number,
- acpi_debug_print_info *dbg_info,
- u32 integer);
- void
- acpi_ut_trace_str (
- u32 line_number,
- acpi_debug_print_info *dbg_info,
- NATIVE_CHAR *string);
- void
- acpi_ut_exit (
- u32 line_number,
- acpi_debug_print_info *dbg_info);
- void
- acpi_ut_status_exit (
- u32 line_number,
- acpi_debug_print_info *dbg_info,
- acpi_status status);
- void
- acpi_ut_value_exit (
- u32 line_number,
- acpi_debug_print_info *dbg_info,
- acpi_integer value);
- void
- acpi_ut_ptr_exit (
- u32 line_number,
- acpi_debug_print_info *dbg_info,
- u8 *ptr);
- void
- acpi_ut_report_info (
- NATIVE_CHAR *module_name,
- u32 line_number,
- u32 component_id);
- void
- acpi_ut_report_error (
- NATIVE_CHAR *module_name,
- u32 line_number,
- u32 component_id);
- void
- acpi_ut_report_warning (
- NATIVE_CHAR *module_name,
- u32 line_number,
- u32 component_id);
- void
- acpi_ut_dump_buffer (
- u8 *buffer,
- u32 count,
- u32 display,
- u32 component_id);
- void
- acpi_ut_debug_print (
- u32 requested_debug_level,
- u32 line_number,
- acpi_debug_print_info *dbg_info,
- char *format,
- ...) ACPI_PRINTF_LIKE_FUNC;
- void
- acpi_ut_debug_print_raw (
- u32 requested_debug_level,
- u32 line_number,
- acpi_debug_print_info *dbg_info,
- char *format,
- ...) ACPI_PRINTF_LIKE_FUNC;
- /*
- * Ut_delete - Object deletion
- */
- void
- acpi_ut_delete_internal_obj (
- acpi_operand_object *object);
- void
- acpi_ut_delete_internal_package_object (
- acpi_operand_object *object);
- void
- acpi_ut_delete_internal_simple_object (
- acpi_operand_object *object);
- acpi_status
- acpi_ut_delete_internal_object_list (
- acpi_operand_object **obj_list);
- /*
- * Ut_eval - object evaluation
- */
- /* Method name strings */
- #define METHOD_NAME__HID "_HID"
- #define METHOD_NAME__UID "_UID"
- #define METHOD_NAME__ADR "_ADR"
- #define METHOD_NAME__STA "_STA"
- #define METHOD_NAME__REG "_REG"
- #define METHOD_NAME__SEG "_SEG"
- #define METHOD_NAME__BBN "_BBN"
- #define METHOD_NAME__PRT "_PRT"
- acpi_status
- acpi_ut_evaluate_numeric_object (
- NATIVE_CHAR *object_name,
- acpi_namespace_node *device_node,
- acpi_integer *address);
- acpi_status
- acpi_ut_execute_HID (
- acpi_namespace_node *device_node,
- acpi_device_id *hid);
- acpi_status
- acpi_ut_execute_STA (
- acpi_namespace_node *device_node,
- u32 *status_flags);
- acpi_status
- acpi_ut_execute_UID (
- acpi_namespace_node *device_node,
- acpi_device_id *uid);
- /*
- * Ut_mutex - mutual exclusion interfaces
- */
- acpi_status
- acpi_ut_mutex_initialize (
- void);
- void
- acpi_ut_mutex_terminate (
- void);
- acpi_status
- acpi_ut_create_mutex (
- ACPI_MUTEX_HANDLE mutex_id);
- acpi_status
- acpi_ut_delete_mutex (
- ACPI_MUTEX_HANDLE mutex_id);
- acpi_status
- acpi_ut_acquire_mutex (
- ACPI_MUTEX_HANDLE mutex_id);
- acpi_status
- acpi_ut_release_mutex (
- ACPI_MUTEX_HANDLE mutex_id);
- /*
- * Ut_object - internal object create/delete/cache routines
- */
- acpi_operand_object *
- acpi_ut_create_internal_object_dbg (
- NATIVE_CHAR *module_name,
- u32 line_number,
- u32 component_id,
- acpi_object_type8 type);
- void *
- acpi_ut_allocate_object_desc_dbg (
- NATIVE_CHAR *module_name,
- u32 line_number,
- u32 component_id);
- #define acpi_ut_create_internal_object(t) acpi_ut_create_internal_object_dbg (_THIS_MODULE,__LINE__,_COMPONENT,t)
- #define acpi_ut_allocate_object_desc() acpi_ut_allocate_object_desc_dbg (_THIS_MODULE,__LINE__,_COMPONENT)
- void
- acpi_ut_delete_object_desc (
- acpi_operand_object *object);
- u8
- acpi_ut_valid_internal_object (
- void *object);
- /*
- * Ut_ref_cnt - Object reference count management
- */
- void
- acpi_ut_add_reference (
- acpi_operand_object *object);
- void
- acpi_ut_remove_reference (
- acpi_operand_object *object);
- /*
- * Ut_size - Object size routines
- */
- acpi_status
- acpi_ut_get_simple_object_size (
- acpi_operand_object *obj,
- u32 *obj_length);
- acpi_status
- acpi_ut_get_package_object_size (
- acpi_operand_object *obj,
- u32 *obj_length);
- acpi_status
- acpi_ut_get_object_size(
- acpi_operand_object *obj,
- u32 *obj_length);
- /*
- * Ut_state - Generic state creation/cache routines
- */
- void
- acpi_ut_push_generic_state (
- acpi_generic_state **list_head,
- acpi_generic_state *state);
- acpi_generic_state *
- acpi_ut_pop_generic_state (
- acpi_generic_state **list_head);
- acpi_generic_state *
- acpi_ut_create_generic_state (
- void);
- acpi_generic_state *
- acpi_ut_create_update_state (
- acpi_operand_object *object,
- u16 action);
- acpi_generic_state *
- acpi_ut_create_pkg_state (
- void *internal_object,
- void *external_object,
- u16 index);
- acpi_status
- acpi_ut_create_update_state_and_push (
- acpi_operand_object *object,
- u16 action,
- acpi_generic_state **state_list);
- acpi_status
- acpi_ut_create_pkg_state_and_push (
- void *internal_object,
- void *external_object,
- u16 index,
- acpi_generic_state **state_list);
- acpi_generic_state *
- acpi_ut_create_control_state (
- void);
- void
- acpi_ut_delete_generic_state (
- acpi_generic_state *state);
- void
- acpi_ut_delete_generic_state_cache (
- void);
- void
- acpi_ut_delete_object_cache (
- void);
- /*
- * utmisc
- */
- acpi_status
- acpi_ut_divide (
- acpi_integer *in_dividend,
- acpi_integer *in_divisor,
- acpi_integer *out_quotient,
- acpi_integer *out_remainder);
- acpi_status
- acpi_ut_short_divide (
- acpi_integer *in_dividend,
- u32 divisor,
- acpi_integer *out_quotient,
- u32 *out_remainder);
- u8
- acpi_ut_valid_acpi_name (
- u32 name);
- u8
- acpi_ut_valid_acpi_character (
- NATIVE_CHAR character);
- NATIVE_CHAR *
- acpi_ut_strupr (
- NATIVE_CHAR *src_string);
- acpi_status
- acpi_ut_resolve_package_references (
- acpi_operand_object *obj_desc);
- #ifdef ACPI_DEBUG
- void
- acpi_ut_display_init_pathname (
- acpi_handle obj_handle,
- char *path);
- #endif
- /*
- * Utalloc - memory allocation and object caching
- */
- void *
- acpi_ut_acquire_from_cache (
- u32 list_id);
- void
- acpi_ut_release_to_cache (
- u32 list_id,
- void *object);
- void
- acpi_ut_delete_generic_cache (
- u32 list_id);
- /* Debug Memory allocation functions */
- void *
- acpi_ut_allocate (
- u32 size,
- u32 component,
- NATIVE_CHAR *module,
- u32 line);
- void *
- acpi_ut_callocate (
- u32 size,
- u32 component,
- NATIVE_CHAR *module,
- u32 line);
- void
- acpi_ut_free (
- void *address,
- u32 component,
- NATIVE_CHAR *module,
- u32 line);
- #ifdef ACPI_DBG_TRACK_ALLOCATIONS
- void
- acpi_ut_dump_allocation_info (
- void);
- void
- acpi_ut_dump_allocations (
- u32 component,
- NATIVE_CHAR *module);
- #endif
- #endif /* _ACUTILS_H */