File: /usr/src/linux/drivers/acpi/include/acresrc.h

1     /******************************************************************************
2      *
3      * Name: acresrc.h - Resource Manager function prototypes
4      *       $Revision: 25 $
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__ */
321