1a9f12690SJung-uk Kim /****************************************************************************** 2a9f12690SJung-uk Kim * 3a9f12690SJung-uk Kim * Name: acpiosxf.h - All interfaces to the OS Services Layer (OSL). These 4a9f12690SJung-uk Kim * interfaces must be implemented by OSL to interface the 5a9f12690SJung-uk Kim * ACPI components to the host operating system. 6a9f12690SJung-uk Kim * 7a9f12690SJung-uk Kim *****************************************************************************/ 8a9f12690SJung-uk Kim 9a9f12690SJung-uk Kim 10d244b227SJung-uk Kim /* 11efcc2a30SJung-uk Kim * Copyright (C) 2000 - 2013, Intel Corp. 12a9f12690SJung-uk Kim * All rights reserved. 13a9f12690SJung-uk Kim * 14d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 15d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 16d244b227SJung-uk Kim * are met: 17d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 18d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 19d244b227SJung-uk Kim * without modification. 20d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 21d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 22d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 23d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 24d244b227SJung-uk Kim * binary redistribution. 25d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 26d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 27d244b227SJung-uk Kim * from this software without specific prior written permission. 28a9f12690SJung-uk Kim * 29d244b227SJung-uk Kim * Alternatively, this software may be distributed under the terms of the 30d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 31d244b227SJung-uk Kim * Software Foundation. 32a9f12690SJung-uk Kim * 33d244b227SJung-uk Kim * NO WARRANTY 34d244b227SJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 35d244b227SJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 36d244b227SJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 37d244b227SJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 38d244b227SJung-uk Kim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 39d244b227SJung-uk Kim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 40d244b227SJung-uk Kim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 41d244b227SJung-uk Kim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 42d244b227SJung-uk Kim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 43d244b227SJung-uk Kim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 44d244b227SJung-uk Kim * POSSIBILITY OF SUCH DAMAGES. 45d244b227SJung-uk Kim */ 46a9f12690SJung-uk Kim 47a9f12690SJung-uk Kim #ifndef __ACPIOSXF_H__ 48a9f12690SJung-uk Kim #define __ACPIOSXF_H__ 49a9f12690SJung-uk Kim 50ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/platform/acenv.h> 51ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actypes.h> 52a9f12690SJung-uk Kim 53a9f12690SJung-uk Kim 54a9f12690SJung-uk Kim /* Types for AcpiOsExecute */ 55a9f12690SJung-uk Kim 56a9f12690SJung-uk Kim typedef enum 57a9f12690SJung-uk Kim { 58a9f12690SJung-uk Kim OSL_GLOBAL_LOCK_HANDLER, 59a9f12690SJung-uk Kim OSL_NOTIFY_HANDLER, 60a9f12690SJung-uk Kim OSL_GPE_HANDLER, 61a9f12690SJung-uk Kim OSL_DEBUGGER_THREAD, 62a9f12690SJung-uk Kim OSL_EC_POLL_HANDLER, 63a9f12690SJung-uk Kim OSL_EC_BURST_HANDLER 64a9f12690SJung-uk Kim 65a9f12690SJung-uk Kim } ACPI_EXECUTE_TYPE; 66a9f12690SJung-uk Kim 67a9f12690SJung-uk Kim #define ACPI_NO_UNIT_LIMIT ((UINT32) -1) 68a9f12690SJung-uk Kim #define ACPI_MUTEX_SEM 1 69a9f12690SJung-uk Kim 70a9f12690SJung-uk Kim 71a9f12690SJung-uk Kim /* Functions for AcpiOsSignal */ 72a9f12690SJung-uk Kim 73a9f12690SJung-uk Kim #define ACPI_SIGNAL_FATAL 0 74a9f12690SJung-uk Kim #define ACPI_SIGNAL_BREAKPOINT 1 75a9f12690SJung-uk Kim 76a9f12690SJung-uk Kim typedef struct acpi_signal_fatal_info 77a9f12690SJung-uk Kim { 78a9f12690SJung-uk Kim UINT32 Type; 79a9f12690SJung-uk Kim UINT32 Code; 80a9f12690SJung-uk Kim UINT32 Argument; 81a9f12690SJung-uk Kim 82a9f12690SJung-uk Kim } ACPI_SIGNAL_FATAL_INFO; 83a9f12690SJung-uk Kim 84a9f12690SJung-uk Kim 85a9f12690SJung-uk Kim /* 86a9f12690SJung-uk Kim * OSL Initialization and shutdown primitives 87a9f12690SJung-uk Kim */ 88a9f12690SJung-uk Kim ACPI_STATUS 89a9f12690SJung-uk Kim AcpiOsInitialize ( 90a9f12690SJung-uk Kim void); 91a9f12690SJung-uk Kim 92a9f12690SJung-uk Kim ACPI_STATUS 93a9f12690SJung-uk Kim AcpiOsTerminate ( 94a9f12690SJung-uk Kim void); 95a9f12690SJung-uk Kim 96a9f12690SJung-uk Kim 97a9f12690SJung-uk Kim /* 98a9f12690SJung-uk Kim * ACPI Table interfaces 99a9f12690SJung-uk Kim */ 100a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS 101a9f12690SJung-uk Kim AcpiOsGetRootPointer ( 102a9f12690SJung-uk Kim void); 103a9f12690SJung-uk Kim 104a9f12690SJung-uk Kim ACPI_STATUS 105a9f12690SJung-uk Kim AcpiOsPredefinedOverride ( 106a9f12690SJung-uk Kim const ACPI_PREDEFINED_NAMES *InitVal, 107a9f12690SJung-uk Kim ACPI_STRING *NewVal); 108a9f12690SJung-uk Kim 109a9f12690SJung-uk Kim ACPI_STATUS 110a9f12690SJung-uk Kim AcpiOsTableOverride ( 111a9f12690SJung-uk Kim ACPI_TABLE_HEADER *ExistingTable, 112a9f12690SJung-uk Kim ACPI_TABLE_HEADER **NewTable); 113a9f12690SJung-uk Kim 114a159c266SJung-uk Kim ACPI_STATUS 115a159c266SJung-uk Kim AcpiOsPhysicalTableOverride ( 116a159c266SJung-uk Kim ACPI_TABLE_HEADER *ExistingTable, 117a159c266SJung-uk Kim ACPI_PHYSICAL_ADDRESS *NewAddress, 118a159c266SJung-uk Kim UINT32 *NewTableLength); 119a159c266SJung-uk Kim 120a9f12690SJung-uk Kim 121a9f12690SJung-uk Kim /* 122a9f12690SJung-uk Kim * Spinlock primitives 123a9f12690SJung-uk Kim */ 1248ef1a331SJung-uk Kim #ifndef AcpiOsCreateLock 125a9f12690SJung-uk Kim ACPI_STATUS 126a9f12690SJung-uk Kim AcpiOsCreateLock ( 127a9f12690SJung-uk Kim ACPI_SPINLOCK *OutHandle); 1288ef1a331SJung-uk Kim #endif 129a9f12690SJung-uk Kim 130a9f12690SJung-uk Kim void 131a9f12690SJung-uk Kim AcpiOsDeleteLock ( 132a9f12690SJung-uk Kim ACPI_SPINLOCK Handle); 133a9f12690SJung-uk Kim 134a9f12690SJung-uk Kim ACPI_CPU_FLAGS 135a9f12690SJung-uk Kim AcpiOsAcquireLock ( 136a9f12690SJung-uk Kim ACPI_SPINLOCK Handle); 137a9f12690SJung-uk Kim 138a9f12690SJung-uk Kim void 139a9f12690SJung-uk Kim AcpiOsReleaseLock ( 140a9f12690SJung-uk Kim ACPI_SPINLOCK Handle, 141a9f12690SJung-uk Kim ACPI_CPU_FLAGS Flags); 142a9f12690SJung-uk Kim 143a9f12690SJung-uk Kim 144a9f12690SJung-uk Kim /* 145a9f12690SJung-uk Kim * Semaphore primitives 146a9f12690SJung-uk Kim */ 147a9f12690SJung-uk Kim ACPI_STATUS 148a9f12690SJung-uk Kim AcpiOsCreateSemaphore ( 149a9f12690SJung-uk Kim UINT32 MaxUnits, 150a9f12690SJung-uk Kim UINT32 InitialUnits, 151a9f12690SJung-uk Kim ACPI_SEMAPHORE *OutHandle); 152a9f12690SJung-uk Kim 153a9f12690SJung-uk Kim ACPI_STATUS 154a9f12690SJung-uk Kim AcpiOsDeleteSemaphore ( 155a9f12690SJung-uk Kim ACPI_SEMAPHORE Handle); 156a9f12690SJung-uk Kim 157a9f12690SJung-uk Kim ACPI_STATUS 158a9f12690SJung-uk Kim AcpiOsWaitSemaphore ( 159a9f12690SJung-uk Kim ACPI_SEMAPHORE Handle, 160a9f12690SJung-uk Kim UINT32 Units, 161a9f12690SJung-uk Kim UINT16 Timeout); 162a9f12690SJung-uk Kim 163a9f12690SJung-uk Kim ACPI_STATUS 164a9f12690SJung-uk Kim AcpiOsSignalSemaphore ( 165a9f12690SJung-uk Kim ACPI_SEMAPHORE Handle, 166a9f12690SJung-uk Kim UINT32 Units); 167a9f12690SJung-uk Kim 168a9f12690SJung-uk Kim 169a9f12690SJung-uk Kim /* 170a9f12690SJung-uk Kim * Mutex primitives. May be configured to use semaphores instead via 171a9f12690SJung-uk Kim * ACPI_MUTEX_TYPE (see platform/acenv.h) 172a9f12690SJung-uk Kim */ 173a9f12690SJung-uk Kim #if (ACPI_MUTEX_TYPE != ACPI_BINARY_SEMAPHORE) 174a9f12690SJung-uk Kim 175a9f12690SJung-uk Kim ACPI_STATUS 176a9f12690SJung-uk Kim AcpiOsCreateMutex ( 177a9f12690SJung-uk Kim ACPI_MUTEX *OutHandle); 178a9f12690SJung-uk Kim 179a9f12690SJung-uk Kim void 180a9f12690SJung-uk Kim AcpiOsDeleteMutex ( 181a9f12690SJung-uk Kim ACPI_MUTEX Handle); 182a9f12690SJung-uk Kim 183a9f12690SJung-uk Kim ACPI_STATUS 184a9f12690SJung-uk Kim AcpiOsAcquireMutex ( 185a9f12690SJung-uk Kim ACPI_MUTEX Handle, 186a9f12690SJung-uk Kim UINT16 Timeout); 187a9f12690SJung-uk Kim 188a9f12690SJung-uk Kim void 189a9f12690SJung-uk Kim AcpiOsReleaseMutex ( 190a9f12690SJung-uk Kim ACPI_MUTEX Handle); 191a9f12690SJung-uk Kim #endif 192a9f12690SJung-uk Kim 193a9f12690SJung-uk Kim 194a9f12690SJung-uk Kim /* 195a9f12690SJung-uk Kim * Memory allocation and mapping 196a9f12690SJung-uk Kim */ 197a9f12690SJung-uk Kim void * 198a9f12690SJung-uk Kim AcpiOsAllocate ( 199a9f12690SJung-uk Kim ACPI_SIZE Size); 200a9f12690SJung-uk Kim 201a9f12690SJung-uk Kim void 202a9f12690SJung-uk Kim AcpiOsFree ( 203a9f12690SJung-uk Kim void * Memory); 204a9f12690SJung-uk Kim 205a9f12690SJung-uk Kim void * 206a9f12690SJung-uk Kim AcpiOsMapMemory ( 207a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Where, 208a9f12690SJung-uk Kim ACPI_SIZE Length); 209a9f12690SJung-uk Kim 210a9f12690SJung-uk Kim void 211a9f12690SJung-uk Kim AcpiOsUnmapMemory ( 212a9f12690SJung-uk Kim void *LogicalAddress, 213a9f12690SJung-uk Kim ACPI_SIZE Size); 214a9f12690SJung-uk Kim 215a9f12690SJung-uk Kim ACPI_STATUS 216a9f12690SJung-uk Kim AcpiOsGetPhysicalAddress ( 217a9f12690SJung-uk Kim void *LogicalAddress, 218a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS *PhysicalAddress); 219a9f12690SJung-uk Kim 220a9f12690SJung-uk Kim 221a9f12690SJung-uk Kim /* 222a9f12690SJung-uk Kim * Memory/Object Cache 223a9f12690SJung-uk Kim */ 224a9f12690SJung-uk Kim ACPI_STATUS 225a9f12690SJung-uk Kim AcpiOsCreateCache ( 226a9f12690SJung-uk Kim char *CacheName, 227a9f12690SJung-uk Kim UINT16 ObjectSize, 228a9f12690SJung-uk Kim UINT16 MaxDepth, 229a9f12690SJung-uk Kim ACPI_CACHE_T **ReturnCache); 230a9f12690SJung-uk Kim 231a9f12690SJung-uk Kim ACPI_STATUS 232a9f12690SJung-uk Kim AcpiOsDeleteCache ( 233a9f12690SJung-uk Kim ACPI_CACHE_T *Cache); 234a9f12690SJung-uk Kim 235a9f12690SJung-uk Kim ACPI_STATUS 236a9f12690SJung-uk Kim AcpiOsPurgeCache ( 237a9f12690SJung-uk Kim ACPI_CACHE_T *Cache); 238a9f12690SJung-uk Kim 239a9f12690SJung-uk Kim void * 240a9f12690SJung-uk Kim AcpiOsAcquireObject ( 241a9f12690SJung-uk Kim ACPI_CACHE_T *Cache); 242a9f12690SJung-uk Kim 243a9f12690SJung-uk Kim ACPI_STATUS 244a9f12690SJung-uk Kim AcpiOsReleaseObject ( 245a9f12690SJung-uk Kim ACPI_CACHE_T *Cache, 246a9f12690SJung-uk Kim void *Object); 247a9f12690SJung-uk Kim 248a9f12690SJung-uk Kim 249a9f12690SJung-uk Kim /* 250a9f12690SJung-uk Kim * Interrupt handlers 251a9f12690SJung-uk Kim */ 252a9f12690SJung-uk Kim ACPI_STATUS 253a9f12690SJung-uk Kim AcpiOsInstallInterruptHandler ( 254a9f12690SJung-uk Kim UINT32 InterruptNumber, 255a9f12690SJung-uk Kim ACPI_OSD_HANDLER ServiceRoutine, 256a9f12690SJung-uk Kim void *Context); 257a9f12690SJung-uk Kim 258a9f12690SJung-uk Kim ACPI_STATUS 259a9f12690SJung-uk Kim AcpiOsRemoveInterruptHandler ( 260a9f12690SJung-uk Kim UINT32 InterruptNumber, 261a9f12690SJung-uk Kim ACPI_OSD_HANDLER ServiceRoutine); 262a9f12690SJung-uk Kim 263a9f12690SJung-uk Kim 264a9f12690SJung-uk Kim /* 265a9f12690SJung-uk Kim * Threads and Scheduling 266a9f12690SJung-uk Kim */ 267a9f12690SJung-uk Kim ACPI_THREAD_ID 268a9f12690SJung-uk Kim AcpiOsGetThreadId ( 269a9f12690SJung-uk Kim void); 270a9f12690SJung-uk Kim 271a9f12690SJung-uk Kim ACPI_STATUS 272a9f12690SJung-uk Kim AcpiOsExecute ( 273a9f12690SJung-uk Kim ACPI_EXECUTE_TYPE Type, 274a9f12690SJung-uk Kim ACPI_OSD_EXEC_CALLBACK Function, 275a9f12690SJung-uk Kim void *Context); 276a9f12690SJung-uk Kim 277a9f12690SJung-uk Kim void 278a9f12690SJung-uk Kim AcpiOsWaitEventsComplete ( 279a7a3b383SJung-uk Kim void); 280a9f12690SJung-uk Kim 281a9f12690SJung-uk Kim void 282a9f12690SJung-uk Kim AcpiOsSleep ( 2839a179dd8SJung-uk Kim UINT64 Milliseconds); 284a9f12690SJung-uk Kim 285a9f12690SJung-uk Kim void 286a9f12690SJung-uk Kim AcpiOsStall ( 287a9f12690SJung-uk Kim UINT32 Microseconds); 288a9f12690SJung-uk Kim 289a9f12690SJung-uk Kim 290a9f12690SJung-uk Kim /* 291a9f12690SJung-uk Kim * Platform and hardware-independent I/O interfaces 292a9f12690SJung-uk Kim */ 293a9f12690SJung-uk Kim ACPI_STATUS 294a9f12690SJung-uk Kim AcpiOsReadPort ( 295a9f12690SJung-uk Kim ACPI_IO_ADDRESS Address, 296a9f12690SJung-uk Kim UINT32 *Value, 297a9f12690SJung-uk Kim UINT32 Width); 298a9f12690SJung-uk Kim 299a9f12690SJung-uk Kim ACPI_STATUS 300a9f12690SJung-uk Kim AcpiOsWritePort ( 301a9f12690SJung-uk Kim ACPI_IO_ADDRESS Address, 302a9f12690SJung-uk Kim UINT32 Value, 303a9f12690SJung-uk Kim UINT32 Width); 304a9f12690SJung-uk Kim 305a9f12690SJung-uk Kim 306a9f12690SJung-uk Kim /* 307a9f12690SJung-uk Kim * Platform and hardware-independent physical memory interfaces 308a9f12690SJung-uk Kim */ 309a9f12690SJung-uk Kim ACPI_STATUS 310a9f12690SJung-uk Kim AcpiOsReadMemory ( 311a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 312a159c266SJung-uk Kim UINT64 *Value, 313a9f12690SJung-uk Kim UINT32 Width); 314a9f12690SJung-uk Kim 315a9f12690SJung-uk Kim ACPI_STATUS 316a9f12690SJung-uk Kim AcpiOsWriteMemory ( 317a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 318a159c266SJung-uk Kim UINT64 Value, 319a9f12690SJung-uk Kim UINT32 Width); 320a9f12690SJung-uk Kim 321a9f12690SJung-uk Kim 322a9f12690SJung-uk Kim /* 323a9f12690SJung-uk Kim * Platform and hardware-independent PCI configuration space access 324a9f12690SJung-uk Kim * Note: Can't use "Register" as a parameter, changed to "Reg" -- 325a9f12690SJung-uk Kim * certain compilers complain. 326a9f12690SJung-uk Kim */ 327a9f12690SJung-uk Kim ACPI_STATUS 328a9f12690SJung-uk Kim AcpiOsReadPciConfiguration ( 329a9f12690SJung-uk Kim ACPI_PCI_ID *PciId, 330a9f12690SJung-uk Kim UINT32 Reg, 331709fac06SJung-uk Kim UINT64 *Value, 332a9f12690SJung-uk Kim UINT32 Width); 333a9f12690SJung-uk Kim 334a9f12690SJung-uk Kim ACPI_STATUS 335a9f12690SJung-uk Kim AcpiOsWritePciConfiguration ( 336a9f12690SJung-uk Kim ACPI_PCI_ID *PciId, 337a9f12690SJung-uk Kim UINT32 Reg, 3389a179dd8SJung-uk Kim UINT64 Value, 339a9f12690SJung-uk Kim UINT32 Width); 340a9f12690SJung-uk Kim 341a9f12690SJung-uk Kim 342a9f12690SJung-uk Kim /* 343a9f12690SJung-uk Kim * Miscellaneous 344a9f12690SJung-uk Kim */ 345a9f12690SJung-uk Kim BOOLEAN 346a9f12690SJung-uk Kim AcpiOsReadable ( 347a9f12690SJung-uk Kim void *Pointer, 348a9f12690SJung-uk Kim ACPI_SIZE Length); 349a9f12690SJung-uk Kim 350a9f12690SJung-uk Kim BOOLEAN 351a9f12690SJung-uk Kim AcpiOsWritable ( 352a9f12690SJung-uk Kim void *Pointer, 353a9f12690SJung-uk Kim ACPI_SIZE Length); 354a9f12690SJung-uk Kim 355a9f12690SJung-uk Kim UINT64 356a9f12690SJung-uk Kim AcpiOsGetTimer ( 357a9f12690SJung-uk Kim void); 358a9f12690SJung-uk Kim 359a9f12690SJung-uk Kim ACPI_STATUS 360a9f12690SJung-uk Kim AcpiOsSignal ( 361a9f12690SJung-uk Kim UINT32 Function, 362a9f12690SJung-uk Kim void *Info); 363a9f12690SJung-uk Kim 364a9f12690SJung-uk Kim 365a9f12690SJung-uk Kim /* 366a9f12690SJung-uk Kim * Debug print routines 367a9f12690SJung-uk Kim */ 368a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE 369a9f12690SJung-uk Kim AcpiOsPrintf ( 370a9f12690SJung-uk Kim const char *Format, 371a9f12690SJung-uk Kim ...); 372a9f12690SJung-uk Kim 373a9f12690SJung-uk Kim void 374a9f12690SJung-uk Kim AcpiOsVprintf ( 375a9f12690SJung-uk Kim const char *Format, 376a9f12690SJung-uk Kim va_list Args); 377a9f12690SJung-uk Kim 378a9f12690SJung-uk Kim void 379a9f12690SJung-uk Kim AcpiOsRedirectOutput ( 380a9f12690SJung-uk Kim void *Destination); 381a9f12690SJung-uk Kim 382a9f12690SJung-uk Kim 383a9f12690SJung-uk Kim /* 384a9f12690SJung-uk Kim * Debug input 385a9f12690SJung-uk Kim */ 38642e58c03SJung-uk Kim ACPI_STATUS 387a9f12690SJung-uk Kim AcpiOsGetLine ( 38842e58c03SJung-uk Kim char *Buffer, 38942e58c03SJung-uk Kim UINT32 BufferLength, 39042e58c03SJung-uk Kim UINT32 *BytesRead); 391a9f12690SJung-uk Kim 392a9f12690SJung-uk Kim 393a9f12690SJung-uk Kim /* 394a9d8d09cSJung-uk Kim * Obtain ACPI table(s) 395a9d8d09cSJung-uk Kim */ 396a9d8d09cSJung-uk Kim ACPI_STATUS 397a9d8d09cSJung-uk Kim AcpiOsGetTableByName ( 398a9d8d09cSJung-uk Kim char *Signature, 399a9d8d09cSJung-uk Kim UINT32 Instance, 400a9d8d09cSJung-uk Kim ACPI_TABLE_HEADER **Table, 401a9d8d09cSJung-uk Kim ACPI_PHYSICAL_ADDRESS *Address); 402a9d8d09cSJung-uk Kim 403a9d8d09cSJung-uk Kim ACPI_STATUS 404a9d8d09cSJung-uk Kim AcpiOsGetTableByIndex ( 405a9d8d09cSJung-uk Kim UINT32 Index, 406a9d8d09cSJung-uk Kim ACPI_TABLE_HEADER **Table, 407a9d8d09cSJung-uk Kim ACPI_PHYSICAL_ADDRESS *Address); 408a9d8d09cSJung-uk Kim 409a9d8d09cSJung-uk Kim ACPI_STATUS 410a9d8d09cSJung-uk Kim AcpiOsGetTableByAddress ( 411a9d8d09cSJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 412a9d8d09cSJung-uk Kim ACPI_TABLE_HEADER **Table); 413a9d8d09cSJung-uk Kim 414a9d8d09cSJung-uk Kim 415a9d8d09cSJung-uk Kim /* 416a9f12690SJung-uk Kim * Directory manipulation 417a9f12690SJung-uk Kim */ 418a9f12690SJung-uk Kim void * 419a9f12690SJung-uk Kim AcpiOsOpenDirectory ( 420a9f12690SJung-uk Kim char *Pathname, 421a9f12690SJung-uk Kim char *WildcardSpec, 422a9f12690SJung-uk Kim char RequestedFileType); 423a9f12690SJung-uk Kim 424a9f12690SJung-uk Kim /* RequesteFileType values */ 425a9f12690SJung-uk Kim 426a9f12690SJung-uk Kim #define REQUEST_FILE_ONLY 0 427a9f12690SJung-uk Kim #define REQUEST_DIR_ONLY 1 428a9f12690SJung-uk Kim 429a9f12690SJung-uk Kim 430a9f12690SJung-uk Kim char * 431a9f12690SJung-uk Kim AcpiOsGetNextFilename ( 432a9f12690SJung-uk Kim void *DirHandle); 433a9f12690SJung-uk Kim 434a9f12690SJung-uk Kim void 435a9f12690SJung-uk Kim AcpiOsCloseDirectory ( 436a9f12690SJung-uk Kim void *DirHandle); 437a9f12690SJung-uk Kim 438a9f12690SJung-uk Kim 439a9f12690SJung-uk Kim #endif /* __ACPIOSXF_H__ */ 440