Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/dev/acpica/include/acpiosxf.h
48286 views
1
/******************************************************************************
2
*
3
* Name: acpiosxf.h - All interfaces to the OS Services Layer (OSL). These
4
* interfaces must be implemented by OSL to interface the
5
* ACPI components to the host operating system.
6
*
7
*****************************************************************************/
8
9
/******************************************************************************
10
*
11
* 1. Copyright Notice
12
*
13
* Some or all of this work - Copyright (c) 1999 - 2025, Intel Corp.
14
* All rights reserved.
15
*
16
* 2. License
17
*
18
* 2.1. This is your license from Intel Corp. under its intellectual property
19
* rights. You may have additional license terms from the party that provided
20
* you this software, covering your right to use that party's intellectual
21
* property rights.
22
*
23
* 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
24
* copy of the source code appearing in this file ("Covered Code") an
25
* irrevocable, perpetual, worldwide license under Intel's copyrights in the
26
* base code distributed originally by Intel ("Original Intel Code") to copy,
27
* make derivatives, distribute, use and display any portion of the Covered
28
* Code in any form, with the right to sublicense such rights; and
29
*
30
* 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
31
* license (with the right to sublicense), under only those claims of Intel
32
* patents that are infringed by the Original Intel Code, to make, use, sell,
33
* offer to sell, and import the Covered Code and derivative works thereof
34
* solely to the minimum extent necessary to exercise the above copyright
35
* license, and in no event shall the patent license extend to any additions
36
* to or modifications of the Original Intel Code. No other license or right
37
* is granted directly or by implication, estoppel or otherwise;
38
*
39
* The above copyright and patent license is granted only if the following
40
* conditions are met:
41
*
42
* 3. Conditions
43
*
44
* 3.1. Redistribution of Source with Rights to Further Distribute Source.
45
* Redistribution of source code of any substantial portion of the Covered
46
* Code or modification with rights to further distribute source must include
47
* the above Copyright Notice, the above License, this list of Conditions,
48
* and the following Disclaimer and Export Compliance provision. In addition,
49
* Licensee must cause all Covered Code to which Licensee contributes to
50
* contain a file documenting the changes Licensee made to create that Covered
51
* Code and the date of any change. Licensee must include in that file the
52
* documentation of any changes made by any predecessor Licensee. Licensee
53
* must include a prominent statement that the modification is derived,
54
* directly or indirectly, from Original Intel Code.
55
*
56
* 3.2. Redistribution of Source with no Rights to Further Distribute Source.
57
* Redistribution of source code of any substantial portion of the Covered
58
* Code or modification without rights to further distribute source must
59
* include the following Disclaimer and Export Compliance provision in the
60
* documentation and/or other materials provided with distribution. In
61
* addition, Licensee may not authorize further sublicense of source of any
62
* portion of the Covered Code, and must include terms to the effect that the
63
* license from Licensee to its licensee is limited to the intellectual
64
* property embodied in the software Licensee provides to its licensee, and
65
* not to intellectual property embodied in modifications its licensee may
66
* make.
67
*
68
* 3.3. Redistribution of Executable. Redistribution in executable form of any
69
* substantial portion of the Covered Code or modification must reproduce the
70
* above Copyright Notice, and the following Disclaimer and Export Compliance
71
* provision in the documentation and/or other materials provided with the
72
* distribution.
73
*
74
* 3.4. Intel retains all right, title, and interest in and to the Original
75
* Intel Code.
76
*
77
* 3.5. Neither the name Intel nor any other trademark owned or controlled by
78
* Intel shall be used in advertising or otherwise to promote the sale, use or
79
* other dealings in products derived from or relating to the Covered Code
80
* without prior written authorization from Intel.
81
*
82
* 4. Disclaimer and Export Compliance
83
*
84
* 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
85
* HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
86
* IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
87
* INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
88
* UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
89
* IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
90
* PARTICULAR PURPOSE.
91
*
92
* 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
93
* OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
94
* COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
95
* SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
96
* CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
97
* HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
98
* SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
99
* LIMITED REMEDY.
100
*
101
* 4.3. Licensee shall not export, either directly or indirectly, any of this
102
* software or system incorporating such software without first obtaining any
103
* required license or other approval from the U. S. Department of Commerce or
104
* any other agency or department of the United States Government. In the
105
* event Licensee exports any such software from the United States or
106
* re-exports any such software from a foreign destination, Licensee shall
107
* ensure that the distribution and export/re-export of the software is in
108
* compliance with all laws, regulations, orders, or other restrictions of the
109
* U.S. Export Administration Regulations. Licensee agrees that neither it nor
110
* any of its subsidiaries will export/re-export any technical data, process,
111
* software, or service, directly or indirectly, to any country for which the
112
* United States government or any agency thereof requires an export license,
113
* other governmental approval, or letter of assurance, without first obtaining
114
* such license, approval or letter.
115
*
116
*****************************************************************************
117
*
118
* Alternatively, you may choose to be licensed under the terms of the
119
* following license:
120
*
121
* Redistribution and use in source and binary forms, with or without
122
* modification, are permitted provided that the following conditions
123
* are met:
124
* 1. Redistributions of source code must retain the above copyright
125
* notice, this list of conditions, and the following disclaimer,
126
* without modification.
127
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
128
* substantially similar to the "NO WARRANTY" disclaimer below
129
* ("Disclaimer") and any redistribution must be conditioned upon
130
* including a substantially similar Disclaimer requirement for further
131
* binary redistribution.
132
* 3. Neither the names of the above-listed copyright holders nor the names
133
* of any contributors may be used to endorse or promote products derived
134
* from this software without specific prior written permission.
135
*
136
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
137
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
138
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
139
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
140
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
141
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
142
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
143
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
144
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
145
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
146
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
147
*
148
* Alternatively, you may choose to be licensed under the terms of the
149
* GNU General Public License ("GPL") version 2 as published by the Free
150
* Software Foundation.
151
*
152
*****************************************************************************/
153
154
#ifndef __ACPIOSXF_H__
155
#define __ACPIOSXF_H__
156
157
#include <contrib/dev/acpica/include/platform/acenv.h>
158
#include <contrib/dev/acpica/include/actypes.h>
159
160
161
/* Types for AcpiOsExecute */
162
163
typedef enum
164
{
165
OSL_GLOBAL_LOCK_HANDLER,
166
OSL_NOTIFY_HANDLER,
167
OSL_GPE_HANDLER,
168
OSL_DEBUGGER_MAIN_THREAD,
169
OSL_DEBUGGER_EXEC_THREAD,
170
OSL_EC_POLL_HANDLER,
171
OSL_EC_BURST_HANDLER
172
173
} ACPI_EXECUTE_TYPE;
174
175
#define ACPI_NO_UNIT_LIMIT ((UINT32) -1)
176
#define ACPI_MUTEX_SEM 1
177
178
179
/* Functions for AcpiOsSignal */
180
181
#define ACPI_SIGNAL_FATAL 0
182
#define ACPI_SIGNAL_BREAKPOINT 1
183
184
typedef struct acpi_signal_fatal_info
185
{
186
UINT32 Type;
187
UINT32 Code;
188
UINT32 Argument;
189
190
} ACPI_SIGNAL_FATAL_INFO;
191
192
193
/*
194
* OSL Initialization and shutdown primitives
195
*/
196
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitialize
197
ACPI_STATUS
198
AcpiOsInitialize (
199
void);
200
#endif
201
202
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminate
203
ACPI_STATUS
204
AcpiOsTerminate (
205
void);
206
#endif
207
208
209
/*
210
* ACPI Table interfaces
211
*/
212
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetRootPointer
213
ACPI_PHYSICAL_ADDRESS
214
AcpiOsGetRootPointer (
215
void);
216
#endif
217
218
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPredefinedOverride
219
ACPI_STATUS
220
AcpiOsPredefinedOverride (
221
const ACPI_PREDEFINED_NAMES *InitVal,
222
ACPI_STRING *NewVal);
223
#endif
224
225
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTableOverride
226
ACPI_STATUS
227
AcpiOsTableOverride (
228
ACPI_TABLE_HEADER *ExistingTable,
229
ACPI_TABLE_HEADER **NewTable);
230
#endif
231
232
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPhysicalTableOverride
233
ACPI_STATUS
234
AcpiOsPhysicalTableOverride (
235
ACPI_TABLE_HEADER *ExistingTable,
236
ACPI_PHYSICAL_ADDRESS *NewAddress,
237
UINT32 *NewTableLength);
238
#endif
239
240
241
/*
242
* Spinlock primitives
243
*/
244
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateLock
245
ACPI_STATUS
246
AcpiOsCreateLock (
247
ACPI_SPINLOCK *OutHandle);
248
#endif
249
250
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteLock
251
void
252
AcpiOsDeleteLock (
253
ACPI_SPINLOCK Handle);
254
#endif
255
256
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireLock
257
ACPI_CPU_FLAGS
258
AcpiOsAcquireLock (
259
ACPI_SPINLOCK Handle);
260
#endif
261
262
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseLock
263
void
264
AcpiOsReleaseLock (
265
ACPI_SPINLOCK Handle,
266
ACPI_CPU_FLAGS Flags);
267
#endif
268
269
270
/*
271
* Semaphore primitives
272
*/
273
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateSemaphore
274
ACPI_STATUS
275
AcpiOsCreateSemaphore (
276
UINT32 MaxUnits,
277
UINT32 InitialUnits,
278
ACPI_SEMAPHORE *OutHandle);
279
#endif
280
281
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteSemaphore
282
ACPI_STATUS
283
AcpiOsDeleteSemaphore (
284
ACPI_SEMAPHORE Handle);
285
#endif
286
287
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitSemaphore
288
ACPI_STATUS
289
AcpiOsWaitSemaphore (
290
ACPI_SEMAPHORE Handle,
291
UINT32 Units,
292
UINT16 Timeout);
293
#endif
294
295
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSignalSemaphore
296
ACPI_STATUS
297
AcpiOsSignalSemaphore (
298
ACPI_SEMAPHORE Handle,
299
UINT32 Units);
300
#endif
301
302
303
/*
304
* Mutex primitives. May be configured to use semaphores instead via
305
* ACPI_MUTEX_TYPE (see platform/acenv.h)
306
*/
307
#if (ACPI_MUTEX_TYPE != ACPI_BINARY_SEMAPHORE)
308
309
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateMutex
310
ACPI_STATUS
311
AcpiOsCreateMutex (
312
ACPI_MUTEX *OutHandle);
313
#endif
314
315
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteMutex
316
void
317
AcpiOsDeleteMutex (
318
ACPI_MUTEX Handle);
319
#endif
320
321
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireMutex
322
ACPI_STATUS
323
AcpiOsAcquireMutex (
324
ACPI_MUTEX Handle,
325
UINT16 Timeout);
326
#endif
327
328
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseMutex
329
void
330
AcpiOsReleaseMutex (
331
ACPI_MUTEX Handle);
332
#endif
333
334
#endif
335
336
337
/*
338
* Memory allocation and mapping
339
*/
340
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocate
341
void *
342
AcpiOsAllocate (
343
ACPI_SIZE Size);
344
#endif
345
346
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocateZeroed
347
void *
348
AcpiOsAllocateZeroed (
349
ACPI_SIZE Size);
350
#endif
351
352
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsFree
353
void
354
AcpiOsFree (
355
void * Memory);
356
#endif
357
358
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsMapMemory
359
void *
360
AcpiOsMapMemory (
361
ACPI_PHYSICAL_ADDRESS Where,
362
ACPI_SIZE Length);
363
#endif
364
365
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsUnmapMemory
366
void
367
AcpiOsUnmapMemory (
368
void *LogicalAddress,
369
ACPI_SIZE Size);
370
#endif
371
372
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetPhysicalAddress
373
ACPI_STATUS
374
AcpiOsGetPhysicalAddress (
375
void *LogicalAddress,
376
ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
377
#endif
378
379
380
/*
381
* Memory/Object Cache
382
*/
383
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateCache
384
ACPI_STATUS
385
AcpiOsCreateCache (
386
char *CacheName,
387
UINT16 ObjectSize,
388
UINT16 MaxDepth,
389
ACPI_CACHE_T **ReturnCache);
390
#endif
391
392
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteCache
393
ACPI_STATUS
394
AcpiOsDeleteCache (
395
ACPI_CACHE_T *Cache);
396
#endif
397
398
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPurgeCache
399
ACPI_STATUS
400
AcpiOsPurgeCache (
401
ACPI_CACHE_T *Cache);
402
#endif
403
404
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireObject
405
void *
406
AcpiOsAcquireObject (
407
ACPI_CACHE_T *Cache);
408
#endif
409
410
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseObject
411
ACPI_STATUS
412
AcpiOsReleaseObject (
413
ACPI_CACHE_T *Cache,
414
void *Object);
415
#endif
416
417
418
/*
419
* Interrupt handlers
420
*/
421
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInstallInterruptHandler
422
ACPI_STATUS
423
AcpiOsInstallInterruptHandler (
424
UINT32 InterruptNumber,
425
ACPI_OSD_HANDLER ServiceRoutine,
426
void *Context);
427
#endif
428
429
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsRemoveInterruptHandler
430
ACPI_STATUS
431
AcpiOsRemoveInterruptHandler (
432
UINT32 InterruptNumber,
433
ACPI_OSD_HANDLER ServiceRoutine);
434
#endif
435
436
437
/*
438
* Threads and Scheduling
439
*/
440
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetThreadId
441
ACPI_THREAD_ID
442
AcpiOsGetThreadId (
443
void);
444
#endif
445
446
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsExecute
447
ACPI_STATUS
448
AcpiOsExecute (
449
ACPI_EXECUTE_TYPE Type,
450
ACPI_OSD_EXEC_CALLBACK Function,
451
void *Context);
452
#endif
453
454
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitEventsComplete
455
void
456
AcpiOsWaitEventsComplete (
457
void);
458
#endif
459
460
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSleep
461
void
462
AcpiOsSleep (
463
UINT64 Milliseconds);
464
#endif
465
466
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsStall
467
void
468
AcpiOsStall (
469
UINT32 Microseconds);
470
#endif
471
472
473
/*
474
* Platform and hardware-independent I/O interfaces
475
*/
476
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadPort
477
ACPI_STATUS
478
AcpiOsReadPort (
479
ACPI_IO_ADDRESS Address,
480
UINT32 *Value,
481
UINT32 Width);
482
#endif
483
484
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritePort
485
ACPI_STATUS
486
AcpiOsWritePort (
487
ACPI_IO_ADDRESS Address,
488
UINT32 Value,
489
UINT32 Width);
490
#endif
491
492
493
/*
494
* Platform and hardware-independent physical memory interfaces
495
*/
496
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadMemory
497
ACPI_STATUS
498
AcpiOsReadMemory (
499
ACPI_PHYSICAL_ADDRESS Address,
500
UINT64 *Value,
501
UINT32 Width);
502
#endif
503
504
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWriteMemory
505
ACPI_STATUS
506
AcpiOsWriteMemory (
507
ACPI_PHYSICAL_ADDRESS Address,
508
UINT64 Value,
509
UINT32 Width);
510
#endif
511
512
513
/*
514
* Platform and hardware-independent PCI configuration space access
515
* Note: Can't use "Register" as a parameter, changed to "Reg" --
516
* certain compilers complain.
517
*/
518
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadPciConfiguration
519
ACPI_STATUS
520
AcpiOsReadPciConfiguration (
521
ACPI_PCI_ID *PciId,
522
UINT32 Reg,
523
UINT64 *Value,
524
UINT32 Width);
525
#endif
526
527
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritePciConfiguration
528
ACPI_STATUS
529
AcpiOsWritePciConfiguration (
530
ACPI_PCI_ID *PciId,
531
UINT32 Reg,
532
UINT64 Value,
533
UINT32 Width);
534
#endif
535
536
537
/*
538
* Miscellaneous
539
*/
540
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadable
541
BOOLEAN
542
AcpiOsReadable (
543
void *Pointer,
544
ACPI_SIZE Length);
545
#endif
546
547
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritable
548
BOOLEAN
549
AcpiOsWritable (
550
void *Pointer,
551
ACPI_SIZE Length);
552
#endif
553
554
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTimer
555
UINT64
556
AcpiOsGetTimer (
557
void);
558
#endif
559
560
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSignal
561
ACPI_STATUS
562
AcpiOsSignal (
563
UINT32 Function,
564
void *Info);
565
#endif
566
567
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsEnterSleep
568
ACPI_STATUS
569
AcpiOsEnterSleep (
570
UINT8 SleepState,
571
UINT32 RegaValue,
572
UINT32 RegbValue);
573
#endif
574
575
576
/*
577
* Debug print routines
578
*/
579
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPrintf
580
ACPI_PRINTF_LIKE (1)
581
void ACPI_INTERNAL_VAR_XFACE
582
AcpiOsPrintf (
583
const char *Format,
584
...);
585
#endif
586
587
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsVprintf
588
void
589
AcpiOsVprintf (
590
const char *Format,
591
va_list Args);
592
#endif
593
594
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsRedirectOutput
595
void
596
AcpiOsRedirectOutput (
597
void *Destination);
598
#endif
599
600
601
/*
602
* Debug IO
603
*/
604
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetLine
605
ACPI_STATUS
606
AcpiOsGetLine (
607
char *Buffer,
608
UINT32 BufferLength,
609
UINT32 *BytesRead);
610
#endif
611
612
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitializeDebugger
613
ACPI_STATUS
614
AcpiOsInitializeDebugger (
615
void);
616
#endif
617
618
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminateDebugger
619
void
620
AcpiOsTerminateDebugger (
621
void);
622
#endif
623
624
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitCommandReady
625
ACPI_STATUS
626
AcpiOsWaitCommandReady (
627
void);
628
#endif
629
630
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsNotifyCommandComplete
631
ACPI_STATUS
632
AcpiOsNotifyCommandComplete (
633
void);
634
#endif
635
636
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTracePoint
637
void
638
AcpiOsTracePoint (
639
ACPI_TRACE_EVENT_TYPE Type,
640
BOOLEAN Begin,
641
UINT8 *Aml,
642
char *Pathname);
643
#endif
644
645
646
/*
647
* Obtain ACPI table(s)
648
*/
649
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByName
650
ACPI_STATUS
651
AcpiOsGetTableByName (
652
char *Signature,
653
UINT32 Instance,
654
ACPI_TABLE_HEADER **Table,
655
ACPI_PHYSICAL_ADDRESS *Address);
656
#endif
657
658
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByIndex
659
ACPI_STATUS
660
AcpiOsGetTableByIndex (
661
UINT32 Index,
662
ACPI_TABLE_HEADER **Table,
663
UINT32 *Instance,
664
ACPI_PHYSICAL_ADDRESS *Address);
665
#endif
666
667
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByAddress
668
ACPI_STATUS
669
AcpiOsGetTableByAddress (
670
ACPI_PHYSICAL_ADDRESS Address,
671
ACPI_TABLE_HEADER **Table);
672
#endif
673
674
675
/*
676
* Directory manipulation
677
*/
678
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsOpenDirectory
679
void *
680
AcpiOsOpenDirectory (
681
char *Pathname,
682
char *WildcardSpec,
683
char RequestedFileType);
684
#endif
685
686
/* RequesteFileType values */
687
688
#define REQUEST_FILE_ONLY 0
689
#define REQUEST_DIR_ONLY 1
690
691
692
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetNextFilename
693
char *
694
AcpiOsGetNextFilename (
695
void *DirHandle);
696
#endif
697
698
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCloseDirectory
699
void
700
AcpiOsCloseDirectory (
701
void *DirHandle);
702
#endif
703
704
705
#endif /* __ACPIOSXF_H__ */
706
707