2 /******************************************************************************
4 * Name: acpixf.h - External interfaces to the ACPI subsystem
6 *****************************************************************************/
9 * Copyright (C) 2000, 2001 R. Byron Moore
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
39 acpi_initialize_subsystem (
43 acpi_enable_subsystem (
51 acpi_subsystem_status (
63 acpi_get_system_info (
64 acpi_buffer *ret_buffer);
67 acpi_format_exception (
68 acpi_status exception);
89 * ACPI table manipulation interfaces
93 acpi_find_root_pointer (
95 ACPI_PHYSICAL_ADDRESS *rsdp_physical_address);
103 acpi_table_header *table_ptr);
107 acpi_table_type table_type);
110 acpi_get_table_header (
111 acpi_table_type table_type,
113 acpi_table_header *out_table_header);
117 acpi_table_type table_type,
119 acpi_buffer *ret_buffer);
122 acpi_get_firmware_table (
123 acpi_string signature,
126 acpi_table_header **table_pointer);
130 * Namespace and name interfaces
134 acpi_walk_namespace (
135 acpi_object_type type,
136 acpi_handle start_object,
138 acpi_walk_callback user_function,
140 void * *return_value);
145 acpi_walk_callback user_function,
147 void **return_value);
153 acpi_buffer *ret_path_ptr);
158 acpi_string pathname,
159 acpi_handle *ret_handle);
163 * Object manipulation and enumeration
167 acpi_evaluate_object (
169 acpi_string pathname,
170 acpi_object_list *parameter_objects,
171 acpi_buffer *return_object_buffer);
174 acpi_get_object_info (
176 acpi_device_info *info);
179 acpi_get_next_object (
180 acpi_object_type type,
183 acpi_handle *out_handle);
188 acpi_object_type *out_type);
193 acpi_handle *out_handle);
197 * Event handler interfaces
201 acpi_install_fixed_event_handler (
203 acpi_event_handler handler,
207 acpi_remove_fixed_event_handler (
209 acpi_event_handler handler);
212 acpi_install_notify_handler (
215 acpi_notify_handler handler,
219 acpi_remove_notify_handler (
222 acpi_notify_handler handler);
225 acpi_install_address_space_handler (
227 ACPI_ADR_SPACE_TYPE space_id,
228 acpi_adr_space_handler handler,
229 acpi_adr_space_setup setup,
233 acpi_remove_address_space_handler (
235 ACPI_ADR_SPACE_TYPE space_id,
236 acpi_adr_space_handler handler);
239 acpi_install_gpe_handler (
242 acpi_gpe_handler handler,
246 acpi_acquire_global_lock (
250 acpi_release_global_lock (
254 acpi_remove_gpe_handler (
256 acpi_gpe_handler handler);
276 acpi_get_event_status (
279 acpi_event_status *event_status);
282 * Resource interfaces
286 acpi_get_current_resources(
287 acpi_handle device_handle,
288 acpi_buffer *ret_buffer);
291 acpi_get_possible_resources(
292 acpi_handle device_handle,
293 acpi_buffer *ret_buffer);
296 acpi_set_current_resources (
297 acpi_handle device_handle,
298 acpi_buffer *in_buffer);
301 acpi_get_irq_routing_table (
302 acpi_handle bus_device_handle,
303 acpi_buffer *ret_buffer);
307 * Hardware (ACPI device) interfaces
311 acpi_set_firmware_waking_vector (
312 ACPI_PHYSICAL_ADDRESS physical_address);
315 acpi_get_firmware_waking_vector (
316 ACPI_PHYSICAL_ADDRESS *physical_address);
319 acpi_enter_sleep_state (
323 acpi_leave_sleep_state (
326 #endif /* __ACXFACE_H__ */