2 /******************************************************************************
4 * Name: acpixf.h - External interfaces to the ACPI subsystem
6 *****************************************************************************/
9 * Copyright (C) 2000 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
38 acpi_initialize_subsystem (
42 acpi_enable_subsystem (
59 ACPI_BUFFER
*ret_buffer
);
62 acpi_format_exception (
63 ACPI_STATUS exception
,
64 ACPI_BUFFER
*out_buffer
);
68 * ACPI table manipulation interfaces
72 acpi_find_root_pointer (
73 ACPI_PHYSICAL_ADDRESS
*rsdp_physical_address
);
77 ACPI_PHYSICAL_ADDRESS rsdp_physical_address
);
81 ACPI_TABLE_HEADER
*table_ptr
);
85 ACPI_TABLE_TYPE table_type
);
88 acpi_get_table_header (
89 ACPI_TABLE_TYPE table_type
,
91 ACPI_TABLE_HEADER
*out_table_header
);
95 ACPI_TABLE_TYPE table_type
,
97 ACPI_BUFFER
*ret_buffer
);
101 * Namespace and name interfaces
105 acpi_walk_namespace (
106 ACPI_OBJECT_TYPE type
,
107 ACPI_HANDLE start_object
,
109 WALK_CALLBACK user_function
,
111 void * *return_value
);
116 WALK_CALLBACK user_function
,
118 void **return_value
);
124 ACPI_BUFFER
*ret_path_ptr
);
129 ACPI_STRING pathname
,
130 ACPI_HANDLE
*ret_handle
);
134 * Object manipulation and enumeration
138 acpi_evaluate_object (
140 ACPI_STRING pathname
,
141 ACPI_OBJECT_LIST
*parameter_objects
,
142 ACPI_BUFFER
*return_object_buffer
);
145 acpi_get_object_info (
147 ACPI_DEVICE_INFO
*info
);
150 acpi_get_next_object (
151 ACPI_OBJECT_TYPE type
,
154 ACPI_HANDLE
*out_handle
);
159 ACPI_OBJECT_TYPE
*out_type
);
164 ACPI_HANDLE
*out_handle
);
168 * Acpi_event handler interfaces
172 acpi_install_fixed_event_handler (
174 FIXED_EVENT_HANDLER handler
,
178 acpi_remove_fixed_event_handler (
180 FIXED_EVENT_HANDLER handler
);
183 acpi_install_notify_handler (
186 NOTIFY_HANDLER handler
,
190 acpi_remove_notify_handler (
193 NOTIFY_HANDLER handler
);
196 acpi_install_address_space_handler (
198 ACPI_ADDRESS_SPACE_TYPE space_id
,
199 ADDRESS_SPACE_HANDLER handler
,
200 ADDRESS_SPACE_SETUP setup
,
204 acpi_remove_address_space_handler (
206 ACPI_ADDRESS_SPACE_TYPE space_id
,
207 ADDRESS_SPACE_HANDLER handler
);
210 acpi_install_gpe_handler (
217 acpi_acquire_global_lock (
221 acpi_release_global_lock (
225 acpi_remove_gpe_handler (
227 GPE_HANDLER handler
);
245 acpi_get_event_status (
248 ACPI_EVENT_STATUS
*event_status
);
251 * Resource interfaces
255 acpi_get_current_resources(
256 ACPI_HANDLE device_handle
,
257 ACPI_BUFFER
*ret_buffer
);
260 acpi_get_possible_resources(
261 ACPI_HANDLE device_handle
,
262 ACPI_BUFFER
*ret_buffer
);
265 acpi_set_current_resources (
266 ACPI_HANDLE device_handle
,
267 ACPI_BUFFER
*in_buffer
);
270 acpi_get_irq_routing_table (
271 ACPI_HANDLE bus_device_handle
,
272 ACPI_BUFFER
*ret_buffer
);
276 * Hardware (ACPI device) interfaces
280 acpi_set_firmware_waking_vector (
281 ACPI_PHYSICAL_ADDRESS physical_address
);
284 acpi_get_firmware_waking_vector (
285 ACPI_PHYSICAL_ADDRESS
*physical_address
);
288 acpi_get_processor_throttling_info (
289 ACPI_HANDLE processor_handle
,
290 ACPI_BUFFER
*user_buffer
);
293 acpi_set_processor_throttling_state (
294 ACPI_HANDLE processor_handle
,
298 acpi_get_processor_throttling_state (
299 ACPI_HANDLE processor_handle
,
300 u32
*throttle_state
);
303 acpi_get_processor_cx_info (
304 ACPI_HANDLE processor_handle
,
305 ACPI_BUFFER
*user_buffer
);
308 acpi_set_processor_sleep_state (
309 ACPI_HANDLE processor_handle
,
313 acpi_processor_sleep (
314 ACPI_HANDLE processor_handle
,
315 u32
*pm_timer_ticks
);
318 #endif /* __ACXFACE_H__ */