📄 acinterp.h
字号:
/****************************************************************************** * * Name: acinterp.h - Interpreter subcomponent prototypes and defines * $Revision: 116 $ * *****************************************************************************//* * 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 __ACINTERP_H__#define __ACINTERP_H__#define WALK_OPERANDS &(walk_state->operands [walk_state->num_operands -1])/* Interpreter constants */#define AML_END_OF_BLOCK -1#define PUSH_PKG_LENGTH 1#define DO_NOT_PUSH_PKG_LENGTH 0#define STACK_TOP 0#define STACK_BOTTOM (u32) -1/* Constants for global "When_to_parse_methods" */#define METHOD_PARSE_AT_INIT 0x0#define METHOD_PARSE_JUST_IN_TIME 0x1#define METHOD_DELETE_AT_COMPLETION 0x2acpi_statusacpi_ex_resolve_operands ( u16 opcode, acpi_operand_object **stack_ptr, acpi_walk_state *walk_state);/* * amxface - External interpreter interfaces */acpi_statusacpi_ex_load_table ( acpi_table_type table_id);acpi_statusacpi_ex_execute_method ( acpi_namespace_node *method_node, acpi_operand_object **params, acpi_operand_object **return_obj_desc);/* * amconvrt - object conversion */acpi_statusacpi_ex_convert_to_integer ( acpi_operand_object *obj_desc, acpi_operand_object **result_desc, acpi_walk_state *walk_state);acpi_statusacpi_ex_convert_to_buffer ( acpi_operand_object *obj_desc, acpi_operand_object **result_desc, acpi_walk_state *walk_state);acpi_statusacpi_ex_convert_to_string ( acpi_operand_object *obj_desc, acpi_operand_object **result_desc, u32 base, u32 max_length, acpi_walk_state *walk_state);acpi_statusacpi_ex_convert_to_target_type ( acpi_object_type8 destination_type, acpi_operand_object **obj_desc, acpi_walk_state *walk_state);/* * amfield - ACPI AML (p-code) execution - field manipulation */acpi_statusacpi_ex_extract_from_field ( acpi_operand_object *obj_desc, void *buffer, u32 buffer_length);acpi_statusacpi_ex_insert_into_field ( acpi_operand_object *obj_desc, void *buffer, u32 buffer_length);acpi_statusacpi_ex_setup_field ( acpi_operand_object *obj_desc, u32 field_byte_offset);acpi_statusacpi_ex_read_field_datum ( acpi_operand_object *obj_desc, u32 field_byte_offset, u32 *value);acpi_statusacpi_ex_common_access_field ( u32 mode, acpi_operand_object *obj_desc, void *buffer, u32 buffer_length);acpi_statusacpi_ex_access_index_field ( u32 mode, acpi_operand_object *obj_desc, void *buffer, u32 buffer_length);acpi_statusacpi_ex_access_bank_field ( u32 mode, acpi_operand_object *obj_desc, void *buffer, u32 buffer_length);acpi_statusacpi_ex_access_region_field ( u32 mode, acpi_operand_object *obj_desc, void *buffer, u32 buffer_length);acpi_statusacpi_ex_access_buffer_field ( u32 mode, acpi_operand_object *obj_desc, void *buffer, u32 buffer_length);acpi_statusacpi_ex_read_data_from_field ( acpi_operand_object *obj_desc, acpi_operand_object **ret_buffer_desc);acpi_statusacpi_ex_write_data_to_field ( acpi_operand_object *source_desc, acpi_operand_object *obj_desc);/* * ammisc - ACPI AML (p-code) execution - specific opcodes */acpi_statusacpi_ex_opcode_3A_0T_0R ( acpi_walk_state *walk_state);acpi_statusacpi_ex_opcode_3A_1T_1R ( acpi_walk_state *walk_state);acpi_statusacpi_ex_opcode_6A_0T_1R ( acpi_walk_state *walk_state);acpi_statusacpi_ex_get_object_reference ( acpi_operand_object *obj_desc, acpi_operand_object **return_desc, acpi_walk_state *walk_state);acpi_statusacpi_ex_do_concatenate ( acpi_operand_object *obj_desc, acpi_operand_object *obj_desc2, acpi_operand_object **actual_return_desc, acpi_walk_state *walk_state);u8acpi_ex_do_logical_op ( u16 opcode, acpi_integer operand0, acpi_integer operand1);acpi_integeracpi_ex_do_math_op ( u16 opcode, acpi_integer operand0, acpi_integer operand1);acpi_statusacpi_ex_load_op ( acpi_operand_object *rgn_desc, acpi_operand_object *ddb_handle);acpi_statusacpi_ex_unload_table ( acpi_operand_object *ddb_handle);acpi_statusacpi_ex_create_mutex ( acpi_walk_state *walk_state);acpi_statusacpi_ex_create_processor ( acpi_walk_state *walk_state);acpi_statusacpi_ex_create_power_resource ( acpi_walk_state *walk_state);acpi_statusacpi_ex_create_region ( u8 *aml_start, u32 aml_length, u8 region_space, acpi_walk_state *walk_state);acpi_statusacpi_ex_create_table_region ( acpi_walk_state *walk_state);acpi_statusacpi_ex_create_event ( acpi_walk_state *walk_state);acpi_statusacpi_ex_create_alias ( acpi_walk_state *walk_state);acpi_statusacpi_ex_create_method ( u8 *aml_start, u32 aml_length, acpi_walk_state *walk_state);/* * ammutex - mutex support */acpi_statusacpi_ex_acquire_mutex ( acpi_operand_object *time_desc, acpi_operand_object *obj_desc, acpi_walk_state *walk_state);acpi_statusacpi_ex_release_mutex ( acpi_operand_object *obj_desc, acpi_walk_state *walk_state);acpi_statusacpi_ex_release_all_mutexes ( acpi_operand_object *mutex_list);voidacpi_ex_unlink_mutex ( acpi_operand_object *obj_desc);/* * amprep - ACPI AML (p-code) execution - prep utilities */acpi_statusacpi_ex_prep_common_field_object ( acpi_operand_object *obj_desc, u8 field_flags, u32 field_position, u32 field_length);acpi_statusacpi_ex_prep_region_field_value ( acpi_namespace_node *node, acpi_handle region, u8 field_flags, u32 field_position, u32 field_length);acpi_statusacpi_ex_prep_bank_field_value ( acpi_namespace_node *node, acpi_namespace_node *region_node, acpi_namespace_node *bank_register_node, u32 bank_val, u8 field_flags, u32 field_position, u32 field_length);acpi_statusacpi_ex_prep_index_field_value ( acpi_namespace_node *node, acpi_namespace_node *index_reg, acpi_namespace_node *data_reg, u8 field_flags, u32 field_position, u32 field_length);acpi_statusacpi_ex_prep_field_value ( ACPI_CREATE_FIELD_INFO *info);/* * amsystem - Interface to OS services */acpi_statusacpi_ex_system_do_notify_op ( acpi_operand_object *value, acpi_operand_object *obj_desc);voidacpi_ex_system_do_suspend( u32 time);voidacpi_ex_system_do_stall ( u32 time);acpi_statusacpi_ex_system_acquire_mutex( acpi_operand_object *time, acpi_operand_object *obj_desc);acpi_status
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -