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 (
60 ACPI_BUFFER
*ret_buffer
);
63 acpi_format_exception (
64 ACPI_STATUS exception
,
65 ACPI_BUFFER
*out_buffer
);
86 * ACPI table manipulation interfaces
90 acpi_find_root_pointer (
91 ACPI_PHYSICAL_ADDRESS
*rsdp_physical_address
);
95 ACPI_PHYSICAL_ADDRESS rsdp_physical_address
);
99 ACPI_TABLE_HEADER
*table_ptr
);
103 ACPI_TABLE_TYPE table_type
);
106 acpi_get_table_header (
107 ACPI_TABLE_TYPE table_type
,
109 ACPI_TABLE_HEADER
*out_table_header
);
113 ACPI_TABLE_TYPE table_type
,
115 ACPI_BUFFER
*ret_buffer
);
119 * Namespace and name interfaces
123 acpi_walk_namespace (
124 ACPI_OBJECT_TYPE type
,
125 ACPI_HANDLE start_object
,
127 WALK_CALLBACK user_function
,
129 void * *return_value
);
134 WALK_CALLBACK user_function
,
136 void **return_value
);
142 ACPI_BUFFER
*ret_path_ptr
);
147 ACPI_STRING pathname
,
148 ACPI_HANDLE
*ret_handle
);
152 * Object manipulation and enumeration
156 acpi_evaluate_object (
158 ACPI_STRING pathname
,
159 ACPI_OBJECT_LIST
*parameter_objects
,
160 ACPI_BUFFER
*return_object_buffer
);
163 acpi_get_object_info (
165 ACPI_DEVICE_INFO
*info
);
168 acpi_get_next_object (
169 ACPI_OBJECT_TYPE type
,
172 ACPI_HANDLE
*out_handle
);
177 ACPI_OBJECT_TYPE
*out_type
);
182 ACPI_HANDLE
*out_handle
);
186 * Event handler interfaces
190 acpi_install_fixed_event_handler (
192 FIXED_EVENT_HANDLER handler
,
196 acpi_remove_fixed_event_handler (
198 FIXED_EVENT_HANDLER handler
);
201 acpi_install_notify_handler (
204 NOTIFY_HANDLER handler
,
208 acpi_remove_notify_handler (
211 NOTIFY_HANDLER handler
);
214 acpi_install_address_space_handler (
216 ACPI_ADDRESS_SPACE_TYPE space_id
,
217 ADDRESS_SPACE_HANDLER handler
,
218 ADDRESS_SPACE_SETUP setup
,
222 acpi_remove_address_space_handler (
224 ACPI_ADDRESS_SPACE_TYPE space_id
,
225 ADDRESS_SPACE_HANDLER handler
);
228 acpi_install_gpe_handler (
235 acpi_acquire_global_lock (
239 acpi_release_global_lock (
243 acpi_remove_gpe_handler (
245 GPE_HANDLER handler
);
263 acpi_get_event_status (
266 ACPI_EVENT_STATUS
*event_status
);
269 * Resource interfaces
273 acpi_get_current_resources(
274 ACPI_HANDLE device_handle
,
275 ACPI_BUFFER
*ret_buffer
);
278 acpi_get_possible_resources(
279 ACPI_HANDLE device_handle
,
280 ACPI_BUFFER
*ret_buffer
);
283 acpi_set_current_resources (
284 ACPI_HANDLE device_handle
,
285 ACPI_BUFFER
*in_buffer
);
288 acpi_get_irq_routing_table (
289 ACPI_HANDLE bus_device_handle
,
290 ACPI_BUFFER
*ret_buffer
);
294 * Hardware (ACPI device) interfaces
298 acpi_set_firmware_waking_vector (
299 ACPI_PHYSICAL_ADDRESS physical_address
);
302 acpi_get_firmware_waking_vector (
303 ACPI_PHYSICAL_ADDRESS
*physical_address
);
306 acpi_enter_sleep_state (
310 acpi_get_processor_throttling_info (
311 ACPI_HANDLE processor_handle
,
312 ACPI_BUFFER
*user_buffer
);
315 acpi_set_processor_throttling_state (
316 ACPI_HANDLE processor_handle
,
320 acpi_get_processor_throttling_state (
321 ACPI_HANDLE processor_handle
,
322 u32
*throttle_state
);
325 acpi_get_processor_cx_info (
326 ACPI_HANDLE processor_handle
,
327 ACPI_BUFFER
*user_buffer
);
330 acpi_set_processor_sleep_state (
331 ACPI_HANDLE processor_handle
,
335 acpi_processor_sleep (
336 ACPI_HANDLE processor_handle
,
337 u32
*pm_timer_ticks
);
340 #endif /* __ACXFACE_H__ */