Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
434 giacomo 1
/******************************************************************************
2
 *
3
 * Name: acresrc.h - Resource Manager function prototypes
4
 *
5
 *****************************************************************************/
6
 
7
/*
8
 * Copyright (C) 2000 - 2003, R. Byron Moore
9
 * All rights reserved.
10
 *
11
 * Redistribution and use in source and binary forms, with or without
12
 * modification, are permitted provided that the following conditions
13
 * are met:
14
 * 1. Redistributions of source code must retain the above copyright
15
 *    notice, this list of conditions, and the following disclaimer,
16
 *    without modification.
17
 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18
 *    substantially similar to the "NO WARRANTY" disclaimer below
19
 *    ("Disclaimer") and any redistribution must be conditioned upon
20
 *    including a substantially similar Disclaimer requirement for further
21
 *    binary redistribution.
22
 * 3. Neither the names of the above-listed copyright holders nor the names
23
 *    of any contributors may be used to endorse or promote products derived
24
 *    from this software without specific prior written permission.
25
 *
26
 * Alternatively, this software may be distributed under the terms of the
27
 * GNU General Public License ("GPL") version 2 as published by the Free
28
 * Software Foundation.
29
 *
30
 * NO WARRANTY
31
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35
 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40
 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41
 * POSSIBILITY OF SUCH DAMAGES.
42
 */
43
 
44
#ifndef __ACRESRC_H__
45
#define __ACRESRC_H__
46
 
47
 
48
/*
49
 *  Function prototypes called from Acpi* APIs
50
 */
51
 
52
acpi_status
53
acpi_rs_get_prt_method_data (
54
        acpi_handle                     handle,
55
        struct acpi_buffer              *ret_buffer);
56
 
57
 
58
acpi_status
59
acpi_rs_get_crs_method_data (
60
        acpi_handle                     handle,
61
        struct acpi_buffer              *ret_buffer);
62
 
63
acpi_status
64
acpi_rs_get_prs_method_data (
65
        acpi_handle                     handle,
66
        struct acpi_buffer              *ret_buffer);
67
 
68
acpi_status
69
acpi_rs_get_method_data (
70
        acpi_handle                     handle,
71
        char                            *path,
72
        struct acpi_buffer              *ret_buffer);
73
 
74
acpi_status
75
acpi_rs_set_srs_method_data (
76
        acpi_handle                     handle,
77
        struct acpi_buffer              *ret_buffer);
78
 
79
acpi_status
80
acpi_rs_create_resource_list (
81
        union acpi_operand_object       *byte_stream_buffer,
82
        struct acpi_buffer              *output_buffer);
83
 
84
acpi_status
85
acpi_rs_create_byte_stream (
86
        struct acpi_resource            *linked_list_buffer,
87
        struct acpi_buffer              *output_buffer);
88
 
89
acpi_status
90
acpi_rs_create_pci_routing_table (
91
        union acpi_operand_object       *package_object,
92
        struct acpi_buffer              *output_buffer);
93
 
94
 
95
/*
96
 * Function prototypes called from acpi_rs_create*
97
 */
98
void
99
acpi_rs_dump_irq (
100
        union acpi_resource_data        *data);
101
 
102
void
103
acpi_rs_dump_address16 (
104
        union acpi_resource_data        *data);
105
 
106
void
107
acpi_rs_dump_address32 (
108
        union acpi_resource_data        *data);
109
 
110
void
111
acpi_rs_dump_address64 (
112
        union acpi_resource_data        *data);
113
 
114
void
115
acpi_rs_dump_dma (
116
        union acpi_resource_data        *data);
117
 
118
void
119
acpi_rs_dump_io (
120
        union acpi_resource_data        *data);
121
 
122
void
123
acpi_rs_dump_extended_irq (
124
        union acpi_resource_data        *data);
125
 
126
void
127
acpi_rs_dump_fixed_io (
128
        union acpi_resource_data        *data);
129
 
130
void
131
acpi_rs_dump_fixed_memory32 (
132
        union acpi_resource_data        *data);
133
 
134
void
135
acpi_rs_dump_memory24 (
136
        union acpi_resource_data        *data);
137
 
138
void
139
acpi_rs_dump_memory32 (
140
        union acpi_resource_data        *data);
141
 
142
void
143
acpi_rs_dump_start_depend_fns (
144
        union acpi_resource_data        *data);
145
 
146
void
147
acpi_rs_dump_vendor_specific (
148
        union acpi_resource_data        *data);
149
 
150
void
151
acpi_rs_dump_resource_list (
152
        struct acpi_resource            *resource);
153
 
154
void
155
acpi_rs_dump_irq_list (
156
        u8                              *route_table);
157
 
158
acpi_status
159
acpi_rs_get_byte_stream_start (
160
        u8                              *byte_stream_buffer,
161
        u8                              **byte_stream_start,
162
        u32                             *size);
163
 
164
acpi_status
165
acpi_rs_get_list_length (
166
        u8                              *byte_stream_buffer,
167
        u32                             byte_stream_buffer_length,
168
        acpi_size                       *size_needed);
169
 
170
acpi_status
171
acpi_rs_get_byte_stream_length (
172
        struct acpi_resource            *linked_list_buffer,
173
        acpi_size                       *size_needed);
174
 
175
acpi_status
176
acpi_rs_get_pci_routing_table_length (
177
        union acpi_operand_object       *package_object,
178
        acpi_size                       *buffer_size_needed);
179
 
180
acpi_status
181
acpi_rs_byte_stream_to_list (
182
        u8                              *byte_stream_buffer,
183
        u32                             byte_stream_buffer_length,
184
        u8                              *output_buffer);
185
 
186
acpi_status
187
acpi_rs_list_to_byte_stream (
188
        struct acpi_resource            *linked_list,
189
        acpi_size                       byte_stream_size_needed,
190
        u8                              *output_buffer);
191
 
192
acpi_status
193
acpi_rs_io_resource (
194
        u8                              *byte_stream_buffer,
195
        acpi_size                       *bytes_consumed,
196
        u8                              **output_buffer,
197
        acpi_size                       *structure_size);
198
 
199
acpi_status
200
acpi_rs_fixed_io_resource (
201
        u8                              *byte_stream_buffer,
202
        acpi_size                       *bytes_consumed,
203
        u8                              **output_buffer,
204
        acpi_size                       *structure_size);
205
 
206
acpi_status
207
acpi_rs_io_stream (
208
        struct acpi_resource            *linked_list,
209
        u8                              **output_buffer,
210
        acpi_size                       *bytes_consumed);
211
 
212
acpi_status
213
acpi_rs_fixed_io_stream (
214
        struct acpi_resource            *linked_list,
215
        u8                              **output_buffer,
216
        acpi_size                       *bytes_consumed);
217
 
218
acpi_status
219
acpi_rs_irq_resource (
220
        u8                              *byte_stream_buffer,
221
        acpi_size                       *bytes_consumed,
222
        u8                              **output_buffer,
223
        acpi_size                       *structure_size);
224
 
225
acpi_status
226
acpi_rs_irq_stream (
227
        struct acpi_resource            *linked_list,
228
        u8                              **output_buffer,
229
        acpi_size                       *bytes_consumed);
230
 
231
acpi_status
232
acpi_rs_dma_resource (
233
        u8                              *byte_stream_buffer,
234
        acpi_size                       *bytes_consumed,
235
        u8                              **output_buffer,
236
        acpi_size                       *structure_size);
237
 
238
acpi_status
239
acpi_rs_dma_stream (
240
        struct acpi_resource            *linked_list,
241
        u8                              **output_buffer,
242
        acpi_size                       *bytes_consumed);
243
 
244
acpi_status
245
acpi_rs_address16_resource (
246
        u8                              *byte_stream_buffer,
247
        acpi_size                       *bytes_consumed,
248
        u8                              **output_buffer,
249
        acpi_size                       *structure_size);
250
 
251
acpi_status
252
acpi_rs_address16_stream (
253
        struct acpi_resource            *linked_list,
254
        u8                              **output_buffer,
255
        acpi_size                       *bytes_consumed);
256
 
257
acpi_status
258
acpi_rs_address32_resource (
259
        u8                              *byte_stream_buffer,
260
        acpi_size                       *bytes_consumed,
261
        u8                              **output_buffer,
262
        acpi_size                       *structure_size);
263
 
264
acpi_status
265
acpi_rs_address32_stream (
266
        struct acpi_resource            *linked_list,
267
        u8                              **output_buffer,
268
        acpi_size                       *bytes_consumed);
269
 
270
acpi_status
271
acpi_rs_address64_resource (
272
        u8                              *byte_stream_buffer,
273
        acpi_size                       *bytes_consumed,
274
        u8                              **output_buffer,
275
        acpi_size                       *structure_size);
276
 
277
acpi_status
278
acpi_rs_address64_stream (
279
        struct acpi_resource            *linked_list,
280
        u8                              **output_buffer,
281
        acpi_size                       *bytes_consumed);
282
 
283
acpi_status
284
acpi_rs_start_depend_fns_resource (
285
        u8                              *byte_stream_buffer,
286
        acpi_size                       *bytes_consumed,
287
        u8                              **output_buffer,
288
        acpi_size                       *structure_size);
289
 
290
acpi_status
291
acpi_rs_end_depend_fns_resource (
292
        u8                              *byte_stream_buffer,
293
        acpi_size                       *bytes_consumed,
294
        u8                              **output_buffer,
295
        acpi_size                       *structure_size);
296
 
297
acpi_status
298
acpi_rs_start_depend_fns_stream (
299
        struct acpi_resource            *linked_list,
300
        u8                              **output_buffer,
301
        acpi_size                       *bytes_consumed);
302
 
303
acpi_status
304
acpi_rs_end_depend_fns_stream (
305
        struct acpi_resource            *linked_list,
306
        u8                              **output_buffer,
307
        acpi_size                       *bytes_consumed);
308
 
309
acpi_status
310
acpi_rs_memory24_resource (
311
        u8                              *byte_stream_buffer,
312
        acpi_size                       *bytes_consumed,
313
        u8                              **output_buffer,
314
        acpi_size                       *structure_size);
315
 
316
acpi_status
317
acpi_rs_memory24_stream (
318
        struct acpi_resource            *linked_list,
319
        u8                              **output_buffer,
320
        acpi_size                       *bytes_consumed);
321
 
322
acpi_status
323
acpi_rs_memory32_range_resource (
324
        u8                              *byte_stream_buffer,
325
        acpi_size                       *bytes_consumed,
326
        u8                              **output_buffer,
327
        acpi_size                       *structure_size);
328
 
329
acpi_status
330
acpi_rs_fixed_memory32_resource (
331
        u8                              *byte_stream_buffer,
332
        acpi_size                       *bytes_consumed,
333
        u8                              **output_buffer,
334
        acpi_size                       *structure_size);
335
 
336
acpi_status
337
acpi_rs_memory32_range_stream (
338
        struct acpi_resource            *linked_list,
339
        u8                              **output_buffer,
340
        acpi_size                       *bytes_consumed);
341
 
342
acpi_status
343
acpi_rs_fixed_memory32_stream (
344
        struct acpi_resource            *linked_list,
345
        u8                              **output_buffer,
346
        acpi_size                       *bytes_consumed);
347
 
348
acpi_status
349
acpi_rs_extended_irq_resource (
350
        u8                              *byte_stream_buffer,
351
        acpi_size                       *bytes_consumed,
352
        u8                              **output_buffer,
353
        acpi_size                       *structure_size);
354
 
355
acpi_status
356
acpi_rs_extended_irq_stream (
357
        struct acpi_resource            *linked_list,
358
        u8                              **output_buffer,
359
        acpi_size                       *bytes_consumed);
360
 
361
acpi_status
362
acpi_rs_end_tag_resource (
363
        u8                              *byte_stream_buffer,
364
        acpi_size                       *bytes_consumed,
365
        u8                              **output_buffer,
366
        acpi_size                       *structure_size);
367
 
368
acpi_status
369
acpi_rs_end_tag_stream (
370
        struct acpi_resource            *linked_list,
371
        u8                              **output_buffer,
372
        acpi_size                       *bytes_consumed);
373
 
374
acpi_status
375
acpi_rs_vendor_resource (
376
        u8                              *byte_stream_buffer,
377
        acpi_size                       *bytes_consumed,
378
        u8                              **output_buffer,
379
        acpi_size                       *structure_size);
380
 
381
acpi_status
382
acpi_rs_vendor_stream (
383
        struct acpi_resource            *linked_list,
384
        u8                              **output_buffer,
385
        acpi_size                       *bytes_consumed);
386
 
387
u8
388
acpi_rs_get_resource_type (
389
        u8                              resource_start_byte);
390
 
391
#endif  /* __ACRESRC_H__ */