More Makefile cleanups, otherwise mainly noticeable are the netfilter fix
[davej-history.git] / drivers / acpi / include / acpixf.h
blobd70fa75a78b730dc273bc79e25049177bddab136
2 /******************************************************************************
4 * Name: acpixf.h - External interfaces to the ACPI subsystem
6 *****************************************************************************/
8 /*
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
27 #ifndef __ACXFACE_H__
28 #define __ACXFACE_H__
30 #include "actypes.h"
31 #include "actbl.h"
34 * Global interfaces
37 ACPI_STATUS
38 acpi_initialize_subsystem (
39 void);
41 ACPI_STATUS
42 acpi_enable_subsystem (
43 u32 flags);
45 ACPI_STATUS
46 acpi_terminate (
47 void);
49 ACPI_STATUS
50 acpi_enable (
51 void);
53 ACPI_STATUS
54 acpi_disable (
55 void);
57 ACPI_STATUS
58 acpi_get_system_info(
59 ACPI_BUFFER *ret_buffer);
61 ACPI_STATUS
62 acpi_format_exception (
63 ACPI_STATUS exception,
64 ACPI_BUFFER *out_buffer);
68 * ACPI table manipulation interfaces
71 ACPI_STATUS
72 acpi_find_root_pointer (
73 ACPI_PHYSICAL_ADDRESS *rsdp_physical_address);
75 ACPI_STATUS
76 acpi_load_tables (
77 ACPI_PHYSICAL_ADDRESS rsdp_physical_address);
79 ACPI_STATUS
80 acpi_load_table (
81 ACPI_TABLE_HEADER *table_ptr);
83 ACPI_STATUS
84 acpi_unload_table (
85 ACPI_TABLE_TYPE table_type);
87 ACPI_STATUS
88 acpi_get_table_header (
89 ACPI_TABLE_TYPE table_type,
90 u32 instance,
91 ACPI_TABLE_HEADER *out_table_header);
93 ACPI_STATUS
94 acpi_get_table (
95 ACPI_TABLE_TYPE table_type,
96 u32 instance,
97 ACPI_BUFFER *ret_buffer);
101 * Namespace and name interfaces
104 ACPI_STATUS
105 acpi_walk_namespace (
106 ACPI_OBJECT_TYPE type,
107 ACPI_HANDLE start_object,
108 u32 max_depth,
109 WALK_CALLBACK user_function,
110 void *context,
111 void * *return_value);
113 ACPI_STATUS
114 acpi_get_devices (
115 NATIVE_CHAR *HID,
116 WALK_CALLBACK user_function,
117 void *context,
118 void **return_value);
120 ACPI_STATUS
121 acpi_get_name (
122 ACPI_HANDLE handle,
123 u32 name_type,
124 ACPI_BUFFER *ret_path_ptr);
126 ACPI_STATUS
127 acpi_get_handle (
128 ACPI_HANDLE parent,
129 ACPI_STRING pathname,
130 ACPI_HANDLE *ret_handle);
134 * Object manipulation and enumeration
137 ACPI_STATUS
138 acpi_evaluate_object (
139 ACPI_HANDLE object,
140 ACPI_STRING pathname,
141 ACPI_OBJECT_LIST *parameter_objects,
142 ACPI_BUFFER *return_object_buffer);
144 ACPI_STATUS
145 acpi_get_object_info (
146 ACPI_HANDLE device,
147 ACPI_DEVICE_INFO *info);
149 ACPI_STATUS
150 acpi_get_next_object (
151 ACPI_OBJECT_TYPE type,
152 ACPI_HANDLE parent,
153 ACPI_HANDLE child,
154 ACPI_HANDLE *out_handle);
156 ACPI_STATUS
157 acpi_get_type (
158 ACPI_HANDLE object,
159 ACPI_OBJECT_TYPE *out_type);
161 ACPI_STATUS
162 acpi_get_parent (
163 ACPI_HANDLE object,
164 ACPI_HANDLE *out_handle);
168 * Acpi_event handler interfaces
171 ACPI_STATUS
172 acpi_install_fixed_event_handler (
173 u32 acpi_event,
174 FIXED_EVENT_HANDLER handler,
175 void *context);
177 ACPI_STATUS
178 acpi_remove_fixed_event_handler (
179 u32 acpi_event,
180 FIXED_EVENT_HANDLER handler);
182 ACPI_STATUS
183 acpi_install_notify_handler (
184 ACPI_HANDLE device,
185 u32 handler_type,
186 NOTIFY_HANDLER handler,
187 void *context);
189 ACPI_STATUS
190 acpi_remove_notify_handler (
191 ACPI_HANDLE device,
192 u32 handler_type,
193 NOTIFY_HANDLER handler);
195 ACPI_STATUS
196 acpi_install_address_space_handler (
197 ACPI_HANDLE device,
198 ACPI_ADDRESS_SPACE_TYPE space_id,
199 ADDRESS_SPACE_HANDLER handler,
200 ADDRESS_SPACE_SETUP setup,
201 void *context);
203 ACPI_STATUS
204 acpi_remove_address_space_handler (
205 ACPI_HANDLE device,
206 ACPI_ADDRESS_SPACE_TYPE space_id,
207 ADDRESS_SPACE_HANDLER handler);
209 ACPI_STATUS
210 acpi_install_gpe_handler (
211 u32 gpe_number,
212 u32 type,
213 GPE_HANDLER handler,
214 void *context);
216 ACPI_STATUS
217 acpi_acquire_global_lock (
218 void);
220 ACPI_STATUS
221 acpi_release_global_lock (
222 void);
224 ACPI_STATUS
225 acpi_remove_gpe_handler (
226 u32 gpe_number,
227 GPE_HANDLER handler);
229 ACPI_STATUS
230 acpi_enable_event (
231 u32 acpi_event,
232 u32 type);
234 ACPI_STATUS
235 acpi_disable_event (
236 u32 acpi_event,
237 u32 type);
239 ACPI_STATUS
240 acpi_clear_event (
241 u32 acpi_event,
242 u32 type);
244 ACPI_STATUS
245 acpi_get_event_status (
246 u32 acpi_event,
247 u32 type,
248 ACPI_EVENT_STATUS *event_status);
251 * Resource interfaces
254 ACPI_STATUS
255 acpi_get_current_resources(
256 ACPI_HANDLE device_handle,
257 ACPI_BUFFER *ret_buffer);
259 ACPI_STATUS
260 acpi_get_possible_resources(
261 ACPI_HANDLE device_handle,
262 ACPI_BUFFER *ret_buffer);
264 ACPI_STATUS
265 acpi_set_current_resources (
266 ACPI_HANDLE device_handle,
267 ACPI_BUFFER *in_buffer);
269 ACPI_STATUS
270 acpi_get_irq_routing_table (
271 ACPI_HANDLE bus_device_handle,
272 ACPI_BUFFER *ret_buffer);
276 * Hardware (ACPI device) interfaces
279 ACPI_STATUS
280 acpi_set_firmware_waking_vector (
281 ACPI_PHYSICAL_ADDRESS physical_address);
283 ACPI_STATUS
284 acpi_get_firmware_waking_vector (
285 ACPI_PHYSICAL_ADDRESS *physical_address);
287 ACPI_STATUS
288 acpi_get_processor_throttling_info (
289 ACPI_HANDLE processor_handle,
290 ACPI_BUFFER *user_buffer);
292 ACPI_STATUS
293 acpi_set_processor_throttling_state (
294 ACPI_HANDLE processor_handle,
295 u32 throttle_state);
297 ACPI_STATUS
298 acpi_get_processor_throttling_state (
299 ACPI_HANDLE processor_handle,
300 u32 *throttle_state);
302 ACPI_STATUS
303 acpi_get_processor_cx_info (
304 ACPI_HANDLE processor_handle,
305 ACPI_BUFFER *user_buffer);
307 ACPI_STATUS
308 acpi_set_processor_sleep_state (
309 ACPI_HANDLE processor_handle,
310 u32 cx_state);
312 ACPI_STATUS
313 acpi_processor_sleep (
314 ACPI_HANDLE processor_handle,
315 u32 *pm_timer_ticks);
318 #endif /* __ACXFACE_H__ */