merge ROS Shell without integrated explorer part into trunk
[reactos.git] / reactos / drivers / bus / acpi / include / acresrc.h
1 /******************************************************************************
2 *
3 * Name: acresrc.h - Resource Manager function prototypes
4 * $Revision: 1.1 $
5 *
6 *****************************************************************************/
7
8 /*
9 * Copyright (C) 2000, 2001 R. Byron Moore
10 *
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.
15 *
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.
20 *
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
24 */
25
26 #ifndef __ACRESRC_H__
27 #define __ACRESRC_H__
28
29
30 /*
31 * Function prototypes called from Acpi* APIs
32 */
33
34 ACPI_STATUS
35 acpi_rs_get_prt_method_data (
36 ACPI_HANDLE handle,
37 ACPI_BUFFER *ret_buffer);
38
39
40 ACPI_STATUS
41 acpi_rs_get_crs_method_data (
42 ACPI_HANDLE handle,
43 ACPI_BUFFER *ret_buffer);
44
45 ACPI_STATUS
46 acpi_rs_get_prs_method_data (
47 ACPI_HANDLE handle,
48 ACPI_BUFFER *ret_buffer);
49
50 ACPI_STATUS
51 acpi_rs_set_srs_method_data (
52 ACPI_HANDLE handle,
53 ACPI_BUFFER *ret_buffer);
54
55 ACPI_STATUS
56 acpi_rs_create_resource_list (
57 ACPI_OPERAND_OBJECT *byte_stream_buffer,
58 u8 *output_buffer,
59 u32 *output_buffer_length);
60
61 ACPI_STATUS
62 acpi_rs_create_byte_stream (
63 RESOURCE *linked_list_buffer,
64 u8 *output_buffer,
65 u32 *output_buffer_length);
66
67 ACPI_STATUS
68 acpi_rs_create_pci_routing_table (
69 ACPI_OPERAND_OBJECT *method_return_object,
70 u8 *output_buffer,
71 u32 *output_buffer_length);
72
73
74 /*
75 *Function prototypes called from Acpi_rs_create*APIs
76 */
77
78 void
79 acpi_rs_dump_resource_list (
80 RESOURCE *resource);
81
82 void
83 acpi_rs_dump_irq_list (
84 u8 *route_table);
85
86 ACPI_STATUS
87 acpi_rs_get_byte_stream_start (
88 u8 *byte_stream_buffer,
89 u8 **byte_stream_start,
90 u32 *size);
91
92 ACPI_STATUS
93 acpi_rs_calculate_list_length (
94 u8 *byte_stream_buffer,
95 u32 byte_stream_buffer_length,
96 u32 *size_needed);
97
98 ACPI_STATUS
99 acpi_rs_calculate_byte_stream_length (
100 RESOURCE *linked_list_buffer,
101 u32 *size_needed);
102
103 ACPI_STATUS
104 acpi_rs_calculate_pci_routing_table_length (
105 ACPI_OPERAND_OBJECT *package_object,
106 u32 *buffer_size_needed);
107
108 ACPI_STATUS
109 acpi_rs_byte_stream_to_list (
110 u8 *byte_stream_buffer,
111 u32 byte_stream_buffer_length,
112 u8 **output_buffer);
113
114 ACPI_STATUS
115 acpi_rs_list_to_byte_stream (
116 RESOURCE *linked_list,
117 u32 byte_stream_size_needed,
118 u8 **output_buffer);
119
120 ACPI_STATUS
121 acpi_rs_io_resource (
122 u8 *byte_stream_buffer,
123 u32 *bytes_consumed,
124 u8 **output_buffer,
125 u32 *structure_size);
126
127 ACPI_STATUS
128 acpi_rs_fixed_io_resource (
129 u8 *byte_stream_buffer,
130 u32 *bytes_consumed,
131 u8 **output_buffer,
132 u32 *structure_size);
133
134 ACPI_STATUS
135 acpi_rs_io_stream (
136 RESOURCE *linked_list,
137 u8 **output_buffer,
138 u32 *bytes_consumed);
139
140 ACPI_STATUS
141 acpi_rs_fixed_io_stream (
142 RESOURCE *linked_list,
143 u8 **output_buffer,
144 u32 *bytes_consumed);
145
146 ACPI_STATUS
147 acpi_rs_irq_resource (
148 u8 *byte_stream_buffer,
149 u32 *bytes_consumed,
150 u8 **output_buffer,
151 u32 *structure_size);
152
153 ACPI_STATUS
154 acpi_rs_irq_stream (
155 RESOURCE *linked_list,
156 u8 **output_buffer,
157 u32 *bytes_consumed);
158
159 ACPI_STATUS
160 acpi_rs_dma_resource (
161 u8 *byte_stream_buffer,
162 u32 *bytes_consumed,
163 u8 **output_buffer,
164 u32 *structure_size);
165
166 ACPI_STATUS
167 acpi_rs_dma_stream (
168 RESOURCE *linked_list,
169 u8 **output_buffer,
170 u32 *bytes_consumed);
171
172 ACPI_STATUS
173 acpi_rs_address16_resource (
174 u8 *byte_stream_buffer,
175 u32 *bytes_consumed,
176 u8 **output_buffer,
177 u32 *structure_size);
178
179 ACPI_STATUS
180 acpi_rs_address16_stream (
181 RESOURCE *linked_list,
182 u8 **output_buffer,
183 u32 *bytes_consumed);
184
185 ACPI_STATUS
186 acpi_rs_address32_resource (
187 u8 *byte_stream_buffer,
188 u32 *bytes_consumed,
189 u8 **output_buffer,
190 u32 *structure_size);
191
192 ACPI_STATUS
193 acpi_rs_address32_stream (
194 RESOURCE *linked_list,
195 u8 **output_buffer,
196 u32 *bytes_consumed);
197
198 ACPI_STATUS
199 acpi_rs_start_dependent_functions_resource (
200 u8 *byte_stream_buffer,
201 u32 *bytes_consumed,
202 u8 **output_buffer,
203 u32 *structure_size);
204
205 ACPI_STATUS
206 acpi_rs_end_dependent_functions_resource (
207 u8 *byte_stream_buffer,
208 u32 *bytes_consumed,
209 u8 **output_buffer,
210 u32 *structure_size);
211
212 ACPI_STATUS
213 acpi_rs_start_dependent_functions_stream (
214 RESOURCE *linked_list,
215 u8 **output_buffer,
216 u32 *bytes_consumed);
217
218 ACPI_STATUS
219 acpi_rs_end_dependent_functions_stream (
220 RESOURCE *linked_list,
221 u8 **output_buffer,
222 u32 *bytes_consumed);
223
224 ACPI_STATUS
225 acpi_rs_memory24_resource (
226 u8 *byte_stream_buffer,
227 u32 *bytes_consumed,
228 u8 **output_buffer,
229 u32 *structure_size);
230
231 ACPI_STATUS
232 acpi_rs_memory24_stream (
233 RESOURCE *linked_list,
234 u8 **output_buffer,
235 u32 *bytes_consumed);
236
237 ACPI_STATUS
238 acpi_rs_memory32_range_resource (
239 u8 *byte_stream_buffer,
240 u32 *bytes_consumed,
241 u8 **output_buffer,
242 u32 *structure_size
243 );
244
245 ACPI_STATUS
246 acpi_rs_fixed_memory32_resource (
247 u8 *byte_stream_buffer,
248 u32 *bytes_consumed,
249 u8 **output_buffer,
250 u32 *structure_size);
251
252 ACPI_STATUS
253 acpi_rs_memory32_range_stream (
254 RESOURCE *linked_list,
255 u8 **output_buffer,
256 u32 *bytes_consumed);
257
258 ACPI_STATUS
259 acpi_rs_fixed_memory32_stream (
260 RESOURCE *linked_list,
261 u8 **output_buffer,
262 u32 *bytes_consumed);
263
264 ACPI_STATUS
265 acpi_rs_extended_irq_resource (
266 u8 *byte_stream_buffer,
267 u32 *bytes_consumed,
268 u8 **output_buffer,
269 u32 *structure_size);
270
271 ACPI_STATUS
272 acpi_rs_extended_irq_stream (
273 RESOURCE *linked_list,
274 u8 **output_buffer,
275 u32 *bytes_consumed);
276
277 ACPI_STATUS
278 acpi_rs_end_tag_resource (
279 u8 *byte_stream_buffer,
280 u32 *bytes_consumed,
281 u8 **output_buffer,
282 u32 *structure_size);
283
284 ACPI_STATUS
285 acpi_rs_end_tag_stream (
286 RESOURCE *linked_list,
287 u8 **output_buffer,
288 u32 *bytes_consumed);
289
290 ACPI_STATUS
291 acpi_rs_vendor_resource (
292 u8 *byte_stream_buffer,
293 u32 *bytes_consumed,
294 u8 **output_buffer,
295 u32 *structure_size);
296
297 ACPI_STATUS
298 acpi_rs_vendor_stream (
299 RESOURCE *linked_list,
300 u8 **output_buffer,
301 u32 *bytes_consumed);
302
303
304 #endif /* __ACRESRC_H__ */