📄 acutils.h
字号:
/****************************************************************************** * * 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_Htypedefacpi_status (*ACPI_PKG_CALLBACK) ( u8 object_type, acpi_operand_object *source_object, acpi_generic_state *state, void *context);acpi_statusacpi_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 */voidacpi_ut_init_globals ( void);voidacpi_ut_terminate ( void);/* * Ut_init - miscellaneous initialization and shutdown */acpi_statusacpi_ut_hardware_initialize ( void);acpi_statusacpi_ut_subsystem_shutdown ( void);acpi_statusacpi_ut_validate_fadt ( void);/* * Ut_global - Global data structures and procedures */#ifdef ACPI_DEBUGNATIVE_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);#endifu8acpi_ut_hex_to_ascii_char ( acpi_integer integer, u32 position);u8acpi_ut_valid_object_type ( u32 type);acpi_owner_idacpi_ut_allocate_owner_id ( u32 id_type);/* * Ut_clib - Local implementations of C library functions */#ifndef ACPI_USE_SYSTEM_CLIBRARYu32acpi_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);u32acpi_ut_strncmp ( const NATIVE_CHAR *string1, const NATIVE_CHAR *string2, NATIVE_UINT count);u32acpi_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);u32acpi_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);u32acpi_ut_to_upper ( u32 c);u32acpi_ut_to_lower ( u32 c);#endif /* ACPI_USE_SYSTEM_CLIBRARY *//* * Ut_copy - Object construction and conversion interfaces */acpi_statusacpi_ut_build_simple_object( acpi_operand_object *obj, acpi_object *user_obj, u8 *data_space, u32 *buffer_space_used);acpi_statusacpi_ut_build_package_object ( acpi_operand_object *obj, u8 *buffer, u32 *space_used);acpi_statusacpi_ut_copy_iobject_to_eobject ( acpi_operand_object *obj, acpi_buffer *ret_buffer);acpi_statusacpi_ut_copy_esimple_to_isimple( acpi_object *user_obj, acpi_operand_object **return_obj);acpi_statusacpi_ut_copy_eobject_to_iobject ( acpi_object *obj, acpi_operand_object **internal_obj);acpi_statusacpi_ut_copy_isimple_to_isimple ( acpi_operand_object *source_obj, acpi_operand_object *dest_obj);acpi_statusacpi_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_statusacpi_ut_update_object_reference ( acpi_operand_object *object, u16 action);/* * Ut_debug - Debug interfaces */voidacpi_ut_init_stack_ptr_trace ( void);voidacpi_ut_track_stack_ptr ( void);voidacpi_ut_trace ( u32 line_number, acpi_debug_print_info *dbg_info);voidacpi_ut_trace_ptr ( u32 line_number, acpi_debug_print_info *dbg_info, void *pointer);voidacpi_ut_trace_u32 ( u32 line_number, acpi_debug_print_info *dbg_info, u32 integer);voidacpi_ut_trace_str ( u32 line_number, acpi_debug_print_info *dbg_info, NATIVE_CHAR *string);voidacpi_ut_exit ( u32 line_number, acpi_debug_print_info *dbg_info);voidacpi_ut_status_exit ( u32 line_number, acpi_debug_print_info *dbg_info, acpi_status status);voidacpi_ut_value_exit ( u32 line_number, acpi_debug_print_info *dbg_info, acpi_integer value);voidacpi_ut_ptr_exit ( u32 line_number, acpi_debug_print_info *dbg_info, u8 *ptr);voidacpi_ut_report_info ( NATIVE_CHAR *module_name, u32 line_number, u32 component_id);voidacpi_ut_report_error ( NATIVE_CHAR *module_name, u32 line_number, u32 component_id);voidacpi_ut_report_warning ( NATIVE_CHAR *module_name, u32 line_number, u32 component_id);voidacpi_ut_dump_buffer ( u8 *buffer, u32 count, u32 display, u32 component_id);voidacpi_ut_debug_print ( u32 requested_debug_level, u32 line_number, acpi_debug_print_info *dbg_info, char *format, ...) ACPI_PRINTF_LIKE_FUNC;voidacpi_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 */voidacpi_ut_delete_internal_obj ( acpi_operand_object *object);voidacpi_ut_delete_internal_package_object ( acpi_operand_object *object);voidacpi_ut_delete_internal_simple_object ( acpi_operand_object *object);acpi_statusacpi_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_statusacpi_ut_evaluate_numeric_object ( NATIVE_CHAR *object_name, acpi_namespace_node *device_node, acpi_integer *address);acpi_statusacpi_ut_execute_HID ( acpi_namespace_node *device_node, acpi_device_id *hid);acpi_statusacpi_ut_execute_STA ( acpi_namespace_node *device_node, u32 *status_flags);acpi_statusacpi_ut_execute_UID ( acpi_namespace_node *device_node, acpi_device_id *uid);/* * Ut_mutex - mutual exclusion interfaces */acpi_statusacpi_ut_mutex_initialize ( void);voidacpi_ut_mutex_terminate ( void);acpi_statusacpi_ut_create_mutex ( ACPI_MUTEX_HANDLE mutex_id);acpi_statusacpi_ut_delete_mutex ( ACPI_MUTEX_HANDLE mutex_id);acpi_statusacpi_ut_acquire_mutex ( ACPI_MUTEX_HANDLE mutex_id);acpi_statusacpi_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)voidacpi_ut_delete_object_desc ( acpi_operand_object *object);u8acpi_ut_valid_internal_object ( void *object);/* * Ut_ref_cnt - Object reference count management */voidacpi_ut_add_reference ( acpi_operand_object *object);voidacpi_ut_remove_reference ( acpi_operand_object *object);/* * Ut_size - Object size routines */acpi_statusacpi_ut_get_simple_object_size ( acpi_operand_object *obj, u32 *obj_length);acpi_statusacpi_ut_get_package_object_size ( acpi_operand_object *obj, u32 *obj_length);acpi_statusacpi_ut_get_object_size( acpi_operand_object *obj, u32 *obj_length);/* * Ut_state - Generic state creation/cache routines */voidacpi_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_statusacpi_ut_create_update_state_and_push ( acpi_operand_object *object, u16 action, acpi_generic_state **state_list);acpi_statusacpi_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);voidacpi_ut_delete_generic_state ( acpi_generic_state *state);voidacpi_ut_delete_generic_state_cache ( void);voidacpi_ut_delete_object_cache ( void);/* * utmisc */acpi_statusacpi_ut_divide ( acpi_integer *in_dividend, acpi_integer *in_divisor, acpi_integer *out_quotient, acpi_integer *out_remainder);acpi_statusacpi_ut_short_divide ( acpi_integer *in_dividend, u32 divisor, acpi_integer *out_quotient, u32 *out_remainder);u8acpi_ut_valid_acpi_name ( u32 name);u8acpi_ut_valid_acpi_character ( NATIVE_CHAR character);NATIVE_CHAR *acpi_ut_strupr ( NATIVE_CHAR *src_string);acpi_statusacpi_ut_resolve_package_references ( acpi_operand_object *obj_desc);#ifdef ACPI_DEBUGvoidacpi_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);voidacpi_ut_release_to_cache ( u32 list_id, void *object);voidacpi_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);voidacpi_ut_free ( void *address, u32 component, NATIVE_CHAR *module, u32 line);#ifdef ACPI_DBG_TRACK_ALLOCATIONSvoidacpi_ut_dump_allocation_info ( void);voidacpi_ut_dump_allocations ( u32 component, NATIVE_CHAR *module);#endif#endif /* _ACUTILS_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -