1 /******************************************************************************
3 * Name: resource.h - Resource Manager function prototypes
5 *****************************************************************************/
8 * Copyright (C) 2000 R. Byron Moore
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 #ifndef __RESOURCE_H__
26 #define __RESOURCE_H__
32 * Function prototypes called from Acpi* APIs
36 acpi_rs_get_prt_method_data (
38 ACPI_BUFFER
*ret_buffer
);
42 acpi_rs_get_crs_method_data (
44 ACPI_BUFFER
*ret_buffer
);
47 acpi_rs_get_prs_method_data (
49 ACPI_BUFFER
*ret_buffer
);
52 acpi_rs_set_srs_method_data (
54 ACPI_BUFFER
*ret_buffer
);
57 acpi_rs_create_resource_list (
58 ACPI_OBJECT_INTERNAL
*byte_stream_buffer
,
60 u32
*output_buffer_length
);
63 acpi_rs_create_byte_stream (
64 RESOURCE
*linked_list_buffer
,
66 u32
*output_buffer_length
);
69 acpi_rs_create_pci_routing_table (
70 ACPI_OBJECT_INTERNAL
*method_return_object
,
72 u32
*output_buffer_length
);
76 *Function prototypes called from Acpi_rs_create*APIs
80 acpi_rs_dump_resource_list (
84 acpi_rs_dump_irq_list (
88 acpi_rs_get_byte_stream_start (
89 u8
*byte_stream_buffer
,
90 u8
**byte_stream_start
,
94 acpi_rs_calculate_list_length (
95 u8
*byte_stream_buffer
,
96 u32 byte_stream_buffer_length
,
100 acpi_rs_calculate_byte_stream_length (
101 RESOURCE
*linked_list_buffer
,
105 acpi_rs_byte_stream_to_list (
106 u8
*byte_stream_buffer
,
107 u32 byte_stream_buffer_length
,
111 acpi_rs_list_to_byte_stream (
112 RESOURCE
*linked_list
,
113 u32 byte_stream_size_needed
,
117 acpi_rs_io_resource (
118 u8
*byte_stream_buffer
,
121 u32
*structure_size
);
124 acpi_rs_fixed_io_resource (
125 u8
*byte_stream_buffer
,
128 u32
*structure_size
);
132 RESOURCE
*linked_list
,
134 u32
*bytes_consumed
);
137 acpi_rs_fixed_io_stream (
138 RESOURCE
*linked_list
,
140 u32
*bytes_consumed
);
143 acpi_rs_irq_resource (
144 u8
*byte_stream_buffer
,
147 u32
*structure_size
);
151 RESOURCE
*linked_list
,
153 u32
*bytes_consumed
);
156 acpi_rs_dma_resource (
157 u8
*byte_stream_buffer
,
160 u32
*structure_size
);
164 RESOURCE
*linked_list
,
166 u32
*bytes_consumed
);
169 acpi_rs_address16_resource (
170 u8
*byte_stream_buffer
,
173 u32
*structure_size
);
176 acpi_rs_address16_stream (
177 RESOURCE
*linked_list
,
179 u32
*bytes_consumed
);
182 acpi_rs_address32_resource (
183 u8
*byte_stream_buffer
,
186 u32
*structure_size
);
189 acpi_rs_address32_stream (
190 RESOURCE
*linked_list
,
192 u32
*bytes_consumed
);
195 acpi_rs_start_dependent_functions_resource (
196 u8
*byte_stream_buffer
,
199 u32
*structure_size
);
202 acpi_rs_end_dependent_functions_resource (
203 u8
*byte_stream_buffer
,
206 u32
*structure_size
);
209 acpi_rs_start_dependent_functions_stream (
210 RESOURCE
*linked_list
,
212 u32
*bytes_consumed
);
215 acpi_rs_end_dependent_functions_stream (
216 RESOURCE
*linked_list
,
218 u32
*bytes_consumed
);
221 acpi_rs_memory24_resource (
222 u8
*byte_stream_buffer
,
225 u32
*structure_size
);
228 acpi_rs_memory24_stream (
229 RESOURCE
*linked_list
,
231 u32
*bytes_consumed
);
234 acpi_rs_memory32_range_resource (
235 u8
*byte_stream_buffer
,
242 acpi_rs_fixed_memory32_resource (
243 u8
*byte_stream_buffer
,
246 u32
*structure_size
);
249 acpi_rs_memory32_range_stream (
250 RESOURCE
*linked_list
,
252 u32
*bytes_consumed
);
255 acpi_rs_fixed_memory32_stream (
256 RESOURCE
*linked_list
,
258 u32
*bytes_consumed
);
261 acpi_rs_extended_irq_resource (
262 u8
*byte_stream_buffer
,
265 u32
*structure_size
);
268 acpi_rs_extended_irq_stream (
269 RESOURCE
*linked_list
,
271 u32
*bytes_consumed
);
274 acpi_rs_end_tag_resource (
275 u8
*byte_stream_buffer
,
278 u32
*structure_size
);
281 acpi_rs_end_tag_stream (
282 RESOURCE
*linked_list
,
284 u32
*bytes_consumed
);
287 acpi_rs_vendor_resource (
288 u8
*byte_stream_buffer
,
291 u32
*structure_size
);
294 acpi_rs_vendor_stream (
295 RESOURCE
*linked_list
,
297 u32
*bytes_consumed
);
300 #endif /*__RESOURCE_H__ */