17c478bd9Sstevel@tonic-gate 27c478bd9Sstevel@tonic-gate /****************************************************************************** 37c478bd9Sstevel@tonic-gate * 47c478bd9Sstevel@tonic-gate * Name: acpiosxf.h - All interfaces to the OS Services Layer (OSL). These 57c478bd9Sstevel@tonic-gate * interfaces must be implemented by OSL to interface the 67c478bd9Sstevel@tonic-gate * ACPI components to the host operating system. 77c478bd9Sstevel@tonic-gate * 87c478bd9Sstevel@tonic-gate *****************************************************************************/ 97c478bd9Sstevel@tonic-gate 107c478bd9Sstevel@tonic-gate 11*26f3cdf0SGordon Ross /* 12*26f3cdf0SGordon Ross * Copyright (C) 2000 - 2011, Intel Corp. 137c478bd9Sstevel@tonic-gate * All rights reserved. 147c478bd9Sstevel@tonic-gate * 15*26f3cdf0SGordon Ross * Redistribution and use in source and binary forms, with or without 16*26f3cdf0SGordon Ross * modification, are permitted provided that the following conditions 17*26f3cdf0SGordon Ross * are met: 18*26f3cdf0SGordon Ross * 1. Redistributions of source code must retain the above copyright 19*26f3cdf0SGordon Ross * notice, this list of conditions, and the following disclaimer, 20*26f3cdf0SGordon Ross * without modification. 21*26f3cdf0SGordon Ross * 2. Redistributions in binary form must reproduce at minimum a disclaimer 22*26f3cdf0SGordon Ross * substantially similar to the "NO WARRANTY" disclaimer below 23*26f3cdf0SGordon Ross * ("Disclaimer") and any redistribution must be conditioned upon 24*26f3cdf0SGordon Ross * including a substantially similar Disclaimer requirement for further 25*26f3cdf0SGordon Ross * binary redistribution. 26*26f3cdf0SGordon Ross * 3. Neither the names of the above-listed copyright holders nor the names 27*26f3cdf0SGordon Ross * of any contributors may be used to endorse or promote products derived 28*26f3cdf0SGordon Ross * from this software without specific prior written permission. 297c478bd9Sstevel@tonic-gate * 30*26f3cdf0SGordon Ross * Alternatively, this software may be distributed under the terms of the 31*26f3cdf0SGordon Ross * GNU General Public License ("GPL") version 2 as published by the Free 32*26f3cdf0SGordon Ross * Software Foundation. 337c478bd9Sstevel@tonic-gate * 34*26f3cdf0SGordon Ross * NO WARRANTY 35*26f3cdf0SGordon Ross * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36*26f3cdf0SGordon Ross * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37*26f3cdf0SGordon Ross * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 38*26f3cdf0SGordon Ross * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39*26f3cdf0SGordon Ross * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 40*26f3cdf0SGordon Ross * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 41*26f3cdf0SGordon Ross * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 42*26f3cdf0SGordon Ross * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 43*26f3cdf0SGordon Ross * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 44*26f3cdf0SGordon Ross * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 45*26f3cdf0SGordon Ross * POSSIBILITY OF SUCH DAMAGES. 46*26f3cdf0SGordon Ross */ 477c478bd9Sstevel@tonic-gate 487c478bd9Sstevel@tonic-gate #ifndef __ACPIOSXF_H__ 497c478bd9Sstevel@tonic-gate #define __ACPIOSXF_H__ 507c478bd9Sstevel@tonic-gate 517c478bd9Sstevel@tonic-gate #include "platform/acenv.h" 527c478bd9Sstevel@tonic-gate #include "actypes.h" 537c478bd9Sstevel@tonic-gate 547c478bd9Sstevel@tonic-gate 5527f7c583Smyers /* Types for AcpiOsExecute */ 567c478bd9Sstevel@tonic-gate 5727f7c583Smyers typedef enum 5827f7c583Smyers { 5927f7c583Smyers OSL_GLOBAL_LOCK_HANDLER, 6027f7c583Smyers OSL_NOTIFY_HANDLER, 6127f7c583Smyers OSL_GPE_HANDLER, 6227f7c583Smyers OSL_DEBUGGER_THREAD, 6327f7c583Smyers OSL_EC_POLL_HANDLER, 6427f7c583Smyers OSL_EC_BURST_HANDLER 6527f7c583Smyers 6627f7c583Smyers } ACPI_EXECUTE_TYPE; 677c478bd9Sstevel@tonic-gate 687c478bd9Sstevel@tonic-gate #define ACPI_NO_UNIT_LIMIT ((UINT32) -1) 697c478bd9Sstevel@tonic-gate #define ACPI_MUTEX_SEM 1 707c478bd9Sstevel@tonic-gate 717c478bd9Sstevel@tonic-gate 727c478bd9Sstevel@tonic-gate /* Functions for AcpiOsSignal */ 737c478bd9Sstevel@tonic-gate 747c478bd9Sstevel@tonic-gate #define ACPI_SIGNAL_FATAL 0 757c478bd9Sstevel@tonic-gate #define ACPI_SIGNAL_BREAKPOINT 1 767c478bd9Sstevel@tonic-gate 777c478bd9Sstevel@tonic-gate typedef struct acpi_signal_fatal_info 787c478bd9Sstevel@tonic-gate { 797c478bd9Sstevel@tonic-gate UINT32 Type; 807c478bd9Sstevel@tonic-gate UINT32 Code; 817c478bd9Sstevel@tonic-gate UINT32 Argument; 827c478bd9Sstevel@tonic-gate 837c478bd9Sstevel@tonic-gate } ACPI_SIGNAL_FATAL_INFO; 847c478bd9Sstevel@tonic-gate 857c478bd9Sstevel@tonic-gate 867c478bd9Sstevel@tonic-gate /* 877c478bd9Sstevel@tonic-gate * OSL Initialization and shutdown primitives 887c478bd9Sstevel@tonic-gate */ 897c478bd9Sstevel@tonic-gate ACPI_STATUS 907c478bd9Sstevel@tonic-gate AcpiOsInitialize ( 917c478bd9Sstevel@tonic-gate void); 927c478bd9Sstevel@tonic-gate 937c478bd9Sstevel@tonic-gate ACPI_STATUS 947c478bd9Sstevel@tonic-gate AcpiOsTerminate ( 957c478bd9Sstevel@tonic-gate void); 967c478bd9Sstevel@tonic-gate 977c478bd9Sstevel@tonic-gate 987c478bd9Sstevel@tonic-gate /* 997c478bd9Sstevel@tonic-gate * ACPI Table interfaces 1007c478bd9Sstevel@tonic-gate */ 101db2bae30SDana Myers ACPI_PHYSICAL_ADDRESS 1027c478bd9Sstevel@tonic-gate AcpiOsGetRootPointer ( 103db2bae30SDana Myers void); 1047c478bd9Sstevel@tonic-gate 1057c478bd9Sstevel@tonic-gate ACPI_STATUS 1067c478bd9Sstevel@tonic-gate AcpiOsPredefinedOverride ( 1077c478bd9Sstevel@tonic-gate const ACPI_PREDEFINED_NAMES *InitVal, 1087c478bd9Sstevel@tonic-gate ACPI_STRING *NewVal); 1097c478bd9Sstevel@tonic-gate 1107c478bd9Sstevel@tonic-gate ACPI_STATUS 1117c478bd9Sstevel@tonic-gate AcpiOsTableOverride ( 1127c478bd9Sstevel@tonic-gate ACPI_TABLE_HEADER *ExistingTable, 1137c478bd9Sstevel@tonic-gate ACPI_TABLE_HEADER **NewTable); 1147c478bd9Sstevel@tonic-gate 1157c478bd9Sstevel@tonic-gate 1167c478bd9Sstevel@tonic-gate /* 11727f7c583Smyers * Spinlock primitives 11827f7c583Smyers */ 11927f7c583Smyers ACPI_STATUS 12027f7c583Smyers AcpiOsCreateLock ( 12127f7c583Smyers ACPI_SPINLOCK *OutHandle); 12227f7c583Smyers 12327f7c583Smyers void 12427f7c583Smyers AcpiOsDeleteLock ( 12527f7c583Smyers ACPI_SPINLOCK Handle); 12627f7c583Smyers 12727f7c583Smyers ACPI_CPU_FLAGS 12827f7c583Smyers AcpiOsAcquireLock ( 12927f7c583Smyers ACPI_SPINLOCK Handle); 13027f7c583Smyers 13127f7c583Smyers void 13227f7c583Smyers AcpiOsReleaseLock ( 13327f7c583Smyers ACPI_SPINLOCK Handle, 13427f7c583Smyers ACPI_CPU_FLAGS Flags); 13527f7c583Smyers 13627f7c583Smyers 13727f7c583Smyers /* 13827f7c583Smyers * Semaphore primitives 1397c478bd9Sstevel@tonic-gate */ 1407c478bd9Sstevel@tonic-gate ACPI_STATUS 1417c478bd9Sstevel@tonic-gate AcpiOsCreateSemaphore ( 1427c478bd9Sstevel@tonic-gate UINT32 MaxUnits, 1437c478bd9Sstevel@tonic-gate UINT32 InitialUnits, 14427f7c583Smyers ACPI_SEMAPHORE *OutHandle); 1457c478bd9Sstevel@tonic-gate 1467c478bd9Sstevel@tonic-gate ACPI_STATUS 1477c478bd9Sstevel@tonic-gate AcpiOsDeleteSemaphore ( 14827f7c583Smyers ACPI_SEMAPHORE Handle); 1497c478bd9Sstevel@tonic-gate 1507c478bd9Sstevel@tonic-gate ACPI_STATUS 1517c478bd9Sstevel@tonic-gate AcpiOsWaitSemaphore ( 15227f7c583Smyers ACPI_SEMAPHORE Handle, 1537c478bd9Sstevel@tonic-gate UINT32 Units, 1547c478bd9Sstevel@tonic-gate UINT16 Timeout); 1557c478bd9Sstevel@tonic-gate 1567c478bd9Sstevel@tonic-gate ACPI_STATUS 1577c478bd9Sstevel@tonic-gate AcpiOsSignalSemaphore ( 15827f7c583Smyers ACPI_SEMAPHORE Handle, 1597c478bd9Sstevel@tonic-gate UINT32 Units); 1607c478bd9Sstevel@tonic-gate 16127f7c583Smyers 16227f7c583Smyers /* 163aa2aa9a6SDana Myers * Mutex primitives. May be configured to use semaphores instead via 164aa2aa9a6SDana Myers * ACPI_MUTEX_TYPE (see platform/acenv.h) 16527f7c583Smyers */ 166aa2aa9a6SDana Myers #if (ACPI_MUTEX_TYPE != ACPI_BINARY_SEMAPHORE) 167aa2aa9a6SDana Myers 1687c478bd9Sstevel@tonic-gate ACPI_STATUS 16927f7c583Smyers AcpiOsCreateMutex ( 17027f7c583Smyers ACPI_MUTEX *OutHandle); 1717c478bd9Sstevel@tonic-gate 1727c478bd9Sstevel@tonic-gate void 17327f7c583Smyers AcpiOsDeleteMutex ( 17427f7c583Smyers ACPI_MUTEX Handle); 1757c478bd9Sstevel@tonic-gate 17627f7c583Smyers ACPI_STATUS 17727f7c583Smyers AcpiOsAcquireMutex ( 17827f7c583Smyers ACPI_MUTEX Handle, 17927f7c583Smyers UINT16 Timeout); 1807c478bd9Sstevel@tonic-gate 1817c478bd9Sstevel@tonic-gate void 18227f7c583Smyers AcpiOsReleaseMutex ( 18327f7c583Smyers ACPI_MUTEX Handle); 184aa2aa9a6SDana Myers #endif 1857c478bd9Sstevel@tonic-gate 1867c478bd9Sstevel@tonic-gate 1877c478bd9Sstevel@tonic-gate /* 1887c478bd9Sstevel@tonic-gate * Memory allocation and mapping 1897c478bd9Sstevel@tonic-gate */ 1907c478bd9Sstevel@tonic-gate void * 1917c478bd9Sstevel@tonic-gate AcpiOsAllocate ( 1927c478bd9Sstevel@tonic-gate ACPI_SIZE Size); 1937c478bd9Sstevel@tonic-gate 1947c478bd9Sstevel@tonic-gate void 1957c478bd9Sstevel@tonic-gate AcpiOsFree ( 1967c478bd9Sstevel@tonic-gate void * Memory); 1977c478bd9Sstevel@tonic-gate 198db2bae30SDana Myers void * 1997c478bd9Sstevel@tonic-gate AcpiOsMapMemory ( 200db2bae30SDana Myers ACPI_PHYSICAL_ADDRESS Where, 201db2bae30SDana Myers ACPI_SIZE Length); 2027c478bd9Sstevel@tonic-gate 2037c478bd9Sstevel@tonic-gate void 2047c478bd9Sstevel@tonic-gate AcpiOsUnmapMemory ( 2057c478bd9Sstevel@tonic-gate void *LogicalAddress, 2067c478bd9Sstevel@tonic-gate ACPI_SIZE Size); 2077c478bd9Sstevel@tonic-gate 2087c478bd9Sstevel@tonic-gate ACPI_STATUS 2097c478bd9Sstevel@tonic-gate AcpiOsGetPhysicalAddress ( 2107c478bd9Sstevel@tonic-gate void *LogicalAddress, 2117c478bd9Sstevel@tonic-gate ACPI_PHYSICAL_ADDRESS *PhysicalAddress); 2127c478bd9Sstevel@tonic-gate 2137c478bd9Sstevel@tonic-gate 214450d6964Smyers /* 215450d6964Smyers * Memory/Object Cache 216450d6964Smyers */ 217450d6964Smyers ACPI_STATUS 218450d6964Smyers AcpiOsCreateCache ( 219450d6964Smyers char *CacheName, 220450d6964Smyers UINT16 ObjectSize, 221450d6964Smyers UINT16 MaxDepth, 222450d6964Smyers ACPI_CACHE_T **ReturnCache); 223450d6964Smyers 224450d6964Smyers ACPI_STATUS 225450d6964Smyers AcpiOsDeleteCache ( 226450d6964Smyers ACPI_CACHE_T *Cache); 227450d6964Smyers 228450d6964Smyers ACPI_STATUS 229450d6964Smyers AcpiOsPurgeCache ( 230450d6964Smyers ACPI_CACHE_T *Cache); 231450d6964Smyers 232450d6964Smyers void * 233450d6964Smyers AcpiOsAcquireObject ( 234450d6964Smyers ACPI_CACHE_T *Cache); 235450d6964Smyers 236450d6964Smyers ACPI_STATUS 237450d6964Smyers AcpiOsReleaseObject ( 238450d6964Smyers ACPI_CACHE_T *Cache, 239450d6964Smyers void *Object); 240450d6964Smyers 241450d6964Smyers 2427c478bd9Sstevel@tonic-gate /* 2437c478bd9Sstevel@tonic-gate * Interrupt handlers 2447c478bd9Sstevel@tonic-gate */ 2457c478bd9Sstevel@tonic-gate ACPI_STATUS 2467c478bd9Sstevel@tonic-gate AcpiOsInstallInterruptHandler ( 2477c478bd9Sstevel@tonic-gate UINT32 InterruptNumber, 2487c478bd9Sstevel@tonic-gate ACPI_OSD_HANDLER ServiceRoutine, 2497c478bd9Sstevel@tonic-gate void *Context); 2507c478bd9Sstevel@tonic-gate 2517c478bd9Sstevel@tonic-gate ACPI_STATUS 2527c478bd9Sstevel@tonic-gate AcpiOsRemoveInterruptHandler ( 2537c478bd9Sstevel@tonic-gate UINT32 InterruptNumber, 2547c478bd9Sstevel@tonic-gate ACPI_OSD_HANDLER ServiceRoutine); 2557c478bd9Sstevel@tonic-gate 2567c478bd9Sstevel@tonic-gate 2577c478bd9Sstevel@tonic-gate /* 2587c478bd9Sstevel@tonic-gate * Threads and Scheduling 2597c478bd9Sstevel@tonic-gate */ 26027f7c583Smyers ACPI_THREAD_ID 2617c478bd9Sstevel@tonic-gate AcpiOsGetThreadId ( 2627c478bd9Sstevel@tonic-gate void); 2637c478bd9Sstevel@tonic-gate 2647c478bd9Sstevel@tonic-gate ACPI_STATUS 26527f7c583Smyers AcpiOsExecute ( 26627f7c583Smyers ACPI_EXECUTE_TYPE Type, 2677c478bd9Sstevel@tonic-gate ACPI_OSD_EXEC_CALLBACK Function, 2687c478bd9Sstevel@tonic-gate void *Context); 2697c478bd9Sstevel@tonic-gate 2707c478bd9Sstevel@tonic-gate void 2717c478bd9Sstevel@tonic-gate AcpiOsWaitEventsComplete ( 2727c478bd9Sstevel@tonic-gate void *Context); 2737c478bd9Sstevel@tonic-gate 2747c478bd9Sstevel@tonic-gate void 2757c478bd9Sstevel@tonic-gate AcpiOsSleep ( 276*26f3cdf0SGordon Ross UINT64 Milliseconds); 2777c478bd9Sstevel@tonic-gate 2787c478bd9Sstevel@tonic-gate void 2797c478bd9Sstevel@tonic-gate AcpiOsStall ( 2807c478bd9Sstevel@tonic-gate UINT32 Microseconds); 2817c478bd9Sstevel@tonic-gate 2827c478bd9Sstevel@tonic-gate 2837c478bd9Sstevel@tonic-gate /* 2847c478bd9Sstevel@tonic-gate * Platform and hardware-independent I/O interfaces 2857c478bd9Sstevel@tonic-gate */ 2867c478bd9Sstevel@tonic-gate ACPI_STATUS 2877c478bd9Sstevel@tonic-gate AcpiOsReadPort ( 2887c478bd9Sstevel@tonic-gate ACPI_IO_ADDRESS Address, 2897c478bd9Sstevel@tonic-gate UINT32 *Value, 2907c478bd9Sstevel@tonic-gate UINT32 Width); 2917c478bd9Sstevel@tonic-gate 2927c478bd9Sstevel@tonic-gate ACPI_STATUS 2937c478bd9Sstevel@tonic-gate AcpiOsWritePort ( 2947c478bd9Sstevel@tonic-gate ACPI_IO_ADDRESS Address, 2957c478bd9Sstevel@tonic-gate UINT32 Value, 2967c478bd9Sstevel@tonic-gate UINT32 Width); 2977c478bd9Sstevel@tonic-gate 2987c478bd9Sstevel@tonic-gate 2997c478bd9Sstevel@tonic-gate /* 3007c478bd9Sstevel@tonic-gate * Platform and hardware-independent physical memory interfaces 3017c478bd9Sstevel@tonic-gate */ 3027c478bd9Sstevel@tonic-gate ACPI_STATUS 3037c478bd9Sstevel@tonic-gate AcpiOsReadMemory ( 3047c478bd9Sstevel@tonic-gate ACPI_PHYSICAL_ADDRESS Address, 3057c478bd9Sstevel@tonic-gate UINT32 *Value, 3067c478bd9Sstevel@tonic-gate UINT32 Width); 3077c478bd9Sstevel@tonic-gate 3087c478bd9Sstevel@tonic-gate ACPI_STATUS 3097c478bd9Sstevel@tonic-gate AcpiOsWriteMemory ( 3107c478bd9Sstevel@tonic-gate ACPI_PHYSICAL_ADDRESS Address, 3117c478bd9Sstevel@tonic-gate UINT32 Value, 3127c478bd9Sstevel@tonic-gate UINT32 Width); 3137c478bd9Sstevel@tonic-gate 3147c478bd9Sstevel@tonic-gate 3157c478bd9Sstevel@tonic-gate /* 3167c478bd9Sstevel@tonic-gate * Platform and hardware-independent PCI configuration space access 3177c478bd9Sstevel@tonic-gate * Note: Can't use "Register" as a parameter, changed to "Reg" -- 3187c478bd9Sstevel@tonic-gate * certain compilers complain. 3197c478bd9Sstevel@tonic-gate */ 3207c478bd9Sstevel@tonic-gate ACPI_STATUS 3217c478bd9Sstevel@tonic-gate AcpiOsReadPciConfiguration ( 3227c478bd9Sstevel@tonic-gate ACPI_PCI_ID *PciId, 3237c478bd9Sstevel@tonic-gate UINT32 Reg, 324*26f3cdf0SGordon Ross UINT64 *Value, 3257c478bd9Sstevel@tonic-gate UINT32 Width); 3267c478bd9Sstevel@tonic-gate 3277c478bd9Sstevel@tonic-gate ACPI_STATUS 3287c478bd9Sstevel@tonic-gate AcpiOsWritePciConfiguration ( 3297c478bd9Sstevel@tonic-gate ACPI_PCI_ID *PciId, 3307c478bd9Sstevel@tonic-gate UINT32 Reg, 331*26f3cdf0SGordon Ross UINT64 Value, 3327c478bd9Sstevel@tonic-gate UINT32 Width); 3337c478bd9Sstevel@tonic-gate 33427f7c583Smyers 3357c478bd9Sstevel@tonic-gate /* 3367c478bd9Sstevel@tonic-gate * Miscellaneous 3377c478bd9Sstevel@tonic-gate */ 3387c478bd9Sstevel@tonic-gate BOOLEAN 3397c478bd9Sstevel@tonic-gate AcpiOsReadable ( 3407c478bd9Sstevel@tonic-gate void *Pointer, 3417c478bd9Sstevel@tonic-gate ACPI_SIZE Length); 3427c478bd9Sstevel@tonic-gate 3437c478bd9Sstevel@tonic-gate BOOLEAN 3447c478bd9Sstevel@tonic-gate AcpiOsWritable ( 3457c478bd9Sstevel@tonic-gate void *Pointer, 3467c478bd9Sstevel@tonic-gate ACPI_SIZE Length); 3477c478bd9Sstevel@tonic-gate 3487c478bd9Sstevel@tonic-gate UINT64 3497c478bd9Sstevel@tonic-gate AcpiOsGetTimer ( 3507c478bd9Sstevel@tonic-gate void); 3517c478bd9Sstevel@tonic-gate 3527c478bd9Sstevel@tonic-gate ACPI_STATUS 3537c478bd9Sstevel@tonic-gate AcpiOsSignal ( 3547c478bd9Sstevel@tonic-gate UINT32 Function, 3557c478bd9Sstevel@tonic-gate void *Info); 3567c478bd9Sstevel@tonic-gate 35727f7c583Smyers 3587c478bd9Sstevel@tonic-gate /* 3597c478bd9Sstevel@tonic-gate * Debug print routines 3607c478bd9Sstevel@tonic-gate */ 3617c478bd9Sstevel@tonic-gate void ACPI_INTERNAL_VAR_XFACE 3627c478bd9Sstevel@tonic-gate AcpiOsPrintf ( 3637c478bd9Sstevel@tonic-gate const char *Format, 3647c478bd9Sstevel@tonic-gate ...); 3657c478bd9Sstevel@tonic-gate 3667c478bd9Sstevel@tonic-gate void 3677c478bd9Sstevel@tonic-gate AcpiOsVprintf ( 3687c478bd9Sstevel@tonic-gate const char *Format, 3697c478bd9Sstevel@tonic-gate va_list Args); 3707c478bd9Sstevel@tonic-gate 3717c478bd9Sstevel@tonic-gate void 3727c478bd9Sstevel@tonic-gate AcpiOsRedirectOutput ( 3737c478bd9Sstevel@tonic-gate void *Destination); 3747c478bd9Sstevel@tonic-gate 3757c478bd9Sstevel@tonic-gate 3767c478bd9Sstevel@tonic-gate /* 3777c478bd9Sstevel@tonic-gate * Debug input 3787c478bd9Sstevel@tonic-gate */ 379*26f3cdf0SGordon Ross ACPI_STATUS 3807c478bd9Sstevel@tonic-gate AcpiOsGetLine ( 381*26f3cdf0SGordon Ross char *Buffer, 382*26f3cdf0SGordon Ross UINT32 BufferLength, 383*26f3cdf0SGordon Ross UINT32 *BytesRead); 3847c478bd9Sstevel@tonic-gate 3857c478bd9Sstevel@tonic-gate 3867c478bd9Sstevel@tonic-gate /* 3877c478bd9Sstevel@tonic-gate * Directory manipulation 3887c478bd9Sstevel@tonic-gate */ 3897c478bd9Sstevel@tonic-gate void * 3907c478bd9Sstevel@tonic-gate AcpiOsOpenDirectory ( 3917c478bd9Sstevel@tonic-gate char *Pathname, 3927c478bd9Sstevel@tonic-gate char *WildcardSpec, 3937c478bd9Sstevel@tonic-gate char RequestedFileType); 3947c478bd9Sstevel@tonic-gate 3957c478bd9Sstevel@tonic-gate /* RequesteFileType values */ 3967c478bd9Sstevel@tonic-gate 3977c478bd9Sstevel@tonic-gate #define REQUEST_FILE_ONLY 0 3987c478bd9Sstevel@tonic-gate #define REQUEST_DIR_ONLY 1 3997c478bd9Sstevel@tonic-gate 4007c478bd9Sstevel@tonic-gate 4017c478bd9Sstevel@tonic-gate char * 4027c478bd9Sstevel@tonic-gate AcpiOsGetNextFilename ( 4037c478bd9Sstevel@tonic-gate void *DirHandle); 4047c478bd9Sstevel@tonic-gate 4057c478bd9Sstevel@tonic-gate void 4067c478bd9Sstevel@tonic-gate AcpiOsCloseDirectory ( 4077c478bd9Sstevel@tonic-gate void *DirHandle); 4087c478bd9Sstevel@tonic-gate 4097c478bd9Sstevel@tonic-gate 4107c478bd9Sstevel@tonic-gate #endif /* __ACPIOSXF_H__ */ 411