import of ftp.dlink.com/GPL/DSMG-600_reB/ppclinux.tar.gz
[linux-2.4.21-pre4.git] / drivers / acpi / include / acresrc.h
1 /******************************************************************************
2  *
3  * Name: acresrc.h - Resource Manager function prototypes
4  *       $Revision: 1.1.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         acpi_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         acpi_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         acpi_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         acpi_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         acpi_resource           *linked_list,
137         u8                      **output_buffer,
138         u32                     *bytes_consumed);
139
140 acpi_status
141 acpi_rs_fixed_io_stream (
142         acpi_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         acpi_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         acpi_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         acpi_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         acpi_resource           *linked_list,
195         u8                      **output_buffer,
196         u32                     *bytes_consumed);
197
198 acpi_status
199 acpi_rs_address64_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_address64_stream (
207         acpi_resource           *linked_list,
208         u8                      **output_buffer,
209         u32                     *bytes_consumed);
210
211 acpi_status
212 acpi_rs_start_dependent_functions_resource (
213         u8                      *byte_stream_buffer,
214         u32                     *bytes_consumed,
215         u8                      **output_buffer,
216         u32                     *structure_size);
217
218 acpi_status
219 acpi_rs_end_dependent_functions_resource (
220         u8                      *byte_stream_buffer,
221         u32                     *bytes_consumed,
222         u8                      **output_buffer,
223         u32                     *structure_size);
224
225 acpi_status
226 acpi_rs_start_dependent_functions_stream (
227         acpi_resource           *linked_list,
228         u8                      **output_buffer,
229         u32                     *bytes_consumed);
230
231 acpi_status
232 acpi_rs_end_dependent_functions_stream (
233         acpi_resource           *linked_list,
234         u8                      **output_buffer,
235         u32                     *bytes_consumed);
236
237 acpi_status
238 acpi_rs_memory24_resource (
239         u8                      *byte_stream_buffer,
240         u32                     *bytes_consumed,
241         u8                      **output_buffer,
242         u32                     *structure_size);
243
244 acpi_status
245 acpi_rs_memory24_stream (
246         acpi_resource           *linked_list,
247         u8                      **output_buffer,
248         u32                     *bytes_consumed);
249
250 acpi_status
251 acpi_rs_memory32_range_resource (
252         u8                      *byte_stream_buffer,
253         u32                     *bytes_consumed,
254         u8                      **output_buffer,
255         u32                     *structure_size
256 );
257
258 acpi_status
259 acpi_rs_fixed_memory32_resource (
260         u8                      *byte_stream_buffer,
261         u32                     *bytes_consumed,
262         u8                      **output_buffer,
263         u32                     *structure_size);
264
265 acpi_status
266 acpi_rs_memory32_range_stream (
267         acpi_resource           *linked_list,
268         u8                      **output_buffer,
269         u32                     *bytes_consumed);
270
271 acpi_status
272 acpi_rs_fixed_memory32_stream (
273         acpi_resource           *linked_list,
274         u8                      **output_buffer,
275         u32                     *bytes_consumed);
276
277 acpi_status
278 acpi_rs_extended_irq_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_extended_irq_stream (
286         acpi_resource           *linked_list,
287         u8                      **output_buffer,
288         u32                     *bytes_consumed);
289
290 acpi_status
291 acpi_rs_end_tag_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_end_tag_stream (
299         acpi_resource           *linked_list,
300         u8                      **output_buffer,
301         u32                     *bytes_consumed);
302
303 acpi_status
304 acpi_rs_vendor_resource (
305         u8                      *byte_stream_buffer,
306         u32                     *bytes_consumed,
307         u8                      **output_buffer,
308         u32                     *structure_size);
309
310 acpi_status
311 acpi_rs_vendor_stream (
312         acpi_resource           *linked_list,
313         u8                      **output_buffer,
314         u32                     *bytes_consumed);
315
316 u8
317 acpi_rs_get_resource_type (
318         u8                      resource_start_byte);
319
320 #endif  /* __ACRESRC_H__ */