:NAME coreinit
:TEXT

// coreinit/alarm.h
OSCancelAlarm
OSCancelAlarms
OSCreateAlarm
OSCreateAlarmEx
OSGetAlarmUserData
OSInitAlarmQueue
OSInitAlarmQueueEx
OSSetAlarm
OSSetPeriodicAlarm
OSSetAlarmTag
OSSetAlarmUserData
OSWaitAlarm

// coreinit/atomic.h
OSCompareAndSwapAtomic
OSCompareAndSwapAtomicEx
OSSwapAtomic
OSAddAtomic
OSAndAtomic
OSOrAtomic
OSXorAtomic
OSTestAndClearAtomic
OSTestAndSetAtomic

// coreinit/atomic64.h
OSGetAtomic64
OSSetAtomic64
OSCompareAndSwapAtomic64
OSCompareAndSwapAtomicEx64
OSSwapAtomic64
OSAddAtomic64
OSAndAtomic64
OSOrAtomic64
OSXorAtomic64
OSTestAndClearAtomic64
OSTestAndSetAtomic64

// coreinit/blockheap.h
MEMInitBlockHeap
MEMDestroyBlockHeap
MEMAddBlockHeapTracking
MEMAllocFromBlockHeapAt
MEMAllocFromBlockHeapEx
MEMFreeToBlockHeap
MEMGetAllocatableSizeForBlockHeapEx
MEMGetTrackingLeftInBlockHeap
MEMGetTotalFreeSizeForBlockHeap

// coreinit/cache.h
DCInvalidateRange
DCFlushRange
DCStoreRange
DCFlushRangeNoSync
DCStoreRangeNoSync
DCZeroRange
DCTouchRange
ICInvalidateRange

// coreinit/condition.h
OSInitCond
OSInitCondEx
OSWaitCond
OSSignalCond

// coreinit/core.h
OSGetCoreCount
OSGetCoreId
OSGetMainCoreId
OSIsMainCore

// coreinit/coroutine.h
OSInitCoroutine
OSLoadCoroutine
OSSaveCoroutine
OSSwitchCoroutine

// coreinit/debug.h
OSConsoleWrite
OSReport
OSPanic
OSFatal
OSGetSymbolName
OSGetUPID
DisassemblePPCRange

// coreinit/dynload.h
OSDynLoad_Acquire
OSDynLoad_FindExport
OSDynLoad_Release
OSDynLoad_SetAllocator
OSDynLoad_GetAllocator
OSDynLoad_SetTLSAllocator
OSDynLoad_GetTLSAllocator

// coreinit/event.h
OSInitEvent
OSInitEventEx
OSSignalEvent
OSSignalEventAll
OSWaitEvent
OSResetEvent
OSWaitEventWithTimeout

// coreinit/exception.h
OSSetExceptionCallback
OSSetExceptionCallbackEx

// coreinit/exit.h
exit
_Exit

// coreinit/expandedheap.h
MEMCreateExpHeapEx
MEMDestroyExpHeap
MEMAllocFromExpHeapEx
MEMFreeToExpHeap
MEMSetAllocModeForExpHeap
MEMGetAllocModeForExpHeap
MEMAdjustExpHeap
MEMResizeForMBlockExpHeap
MEMGetTotalFreeSizeForExpHeap
MEMGetAllocatableSizeForExpHeapEx
MEMSetGroupIDForExpHeap
MEMGetGroupIDForExpHeap
MEMGetSizeForMBlockExpHeap
MEMGetGroupIDForMBlockExpHeap
MEMGetAllocDirForMBlockExpHeap

// coreinit/fastcondition.h
OSFastCond_Init
OSFastCond_Wait
OSFastCond_Signal

// coreinit/fastmutex.h
OSFastMutex_Init
OSFastMutex_Lock
OSFastMutex_Unlock
OSFastMutex_TryLock

// coreinit/filesystem.h
FSInit
FSShutdown
FSAddClient
FSDelClient
FSGetClientNum
FSInitCmdBlock
FSSetCmdPriority
FSSetStateChangeNotification
FSGetCwd
FSChangeDir
FSChangeDirAsync
FSChangeMode
FSChangeModeAsync
FSGetFreeSpaceSize
FSGetFreeSpaceSizeAsync
FSGetStat
FSGetStatAsync
FSRemove
FSRemoveAsync
FSOpenFile
FSOpenFileAsync
FSCloseFile
FSCloseFileAsync
FSOpenDir
FSOpenDirAsync
FSMakeDir
FSMakeDirAsync
FSReadDir
FSReadDirAsync
FSRewindDir
FSCloseDir
FSCloseDirAsync
FSGetStatFile
FSGetStatFileAsync
FSReadFile
FSReadFileAsync
FSReadFileWithPos
FSReadFileWithPosAsync
FSWriteFile
FSWriteFileAsync
FSWriteFileWithPos
FSWriteFileWithPosAsync
FSGetPosFile
FSGetPosFileAsync
FSSetPosFile
FSSetPosFileAsync
FSFlushFile
FSFlushFileAsync
FSTruncateFile
FSTruncateFileAsync
FSRename
FSRenameAsync
FSGetVolumeState
FSGetLastErrorCodeForViewer
FSGetMountSource
FSMount
FSUnmount
FSBindMount
FSBindUnmount

// coreinit/foreground.h
OSEnableForegroundExit
OSReleaseForeground
OSSavesDone_ReadyToRelease

// coreinit/frameheap.h
MEMCreateFrmHeapEx
MEMDestroyFrmHeap
MEMAllocFromFrmHeapEx
MEMFreeToFrmHeap
MEMRecordStateForFrmHeap
MEMFreeByStateToFrmHeap
MEMAdjustFrmHeap
MEMResizeForMBlockFrmHeap
MEMGetAllocatableSizeForFrmHeapEx

// coreinit/ios.h
IOS_Open
IOS_OpenAsync
IOS_Close
IOS_CloseAsync
IOS_Ioctl
IOS_IoctlAsync
IOS_Ioctlv
IOS_IoctlvAsync

// coreinit/mcp.h
MCP_Open
MCP_Close
MCP_InstallSetTargetDevice
MCP_InstallGetTargetDevice
MCP_InstallSetTargetUsb
MCP_InstallGetInfo
MCP_InstallTitleAsync
MCP_InstallGetProgress
MCP_InstallTitleAbort
MCP_DeleteTitleAsync
MCP_DeviceList
MCP_FullDeviceList

// coreinit/memdefaultheap.h
CoreInitDefaultHeap

// coreinit/memheap.h
MEMGetArena
MEMGetBaseHeapHandle
MEMSetBaseHeapHandle
MEMDumpHeap
MEMFindContainHeap
MEMGetFillValForHeap
MEMSetFillValForHeap

// coreinit/memlist.h
MEMInitList
MEMAppendListObject
MEMPrependListObject
MEMInsertListObject
MEMRemoveListObject
MEMGetNextListObject
MEMGetPrevListObject
MEMGetNthListObject

// coreinit/memory.h
OSBlockMove
OSBlockSet
OSAllocFromSystem
OSFreeToSystem
OSGetForegroundBucket
OSGetForegroundBucketFreeArea
OSGetMemBound

// coreinit/memorymap.h
OSEffectiveToPhysical
OSAllocVirtAddr
OSFreeVirtAddr
OSQueryVirtAddr
OSMapMemory
OSUnmapMemory
OSGetMapVirtAddrRange
OSGetAvailPhysAddrRange
OSGetDataPhysAddrRange

// coreinit/messagequeue.h
OSInitMessageQueue
OSInitMessageQueueEx
OSSendMessage
OSReceiveMessage
OSPeekMessage
OSGetSystemMessageQueue

// coreinit/mutex.h
OSInitMutex
OSInitMutexEx
OSLockMutex
OSUnlockMutex
OSTryLockMutex

// coreinit/rendezvous.h
OSInitRendezvous
OSWaitRendezvous
OSWaitRendezvousWithTimeout

// coreinit/screen.h
OSScreenInit
OSScreenShutdown
OSScreenGetBufferSizeEx
OSScreenSetBufferEx
OSScreenClearBufferEx
OSScreenFlipBuffersEx
OSScreenPutFontEx
OSScreenPutPixelEx
OSScreenEnableEx

// coreinit/semaphore.h
OSInitSemaphore
OSInitSemaphoreEx
OSGetSemaphoreCount
OSSignalSemaphore
OSWaitSemaphore
OSTryWaitSemaphore

// coreinit/spinlock.h
OSInitSpinLock
OSAcquireSpinLock
OSTryAcquireSpinLock
OSTryAcquireSpinLockWithTimeout
OSReleaseSpinLock
OSUninterruptibleSpinLock_Acquire
OSUninterruptibleSpinLock_TryAcquire
OSUninterruptibleSpinLock_TryAcquireWithTimeout
OSUninterruptibleSpinLock_Release

// coreinit/systeminfo.h
OSGetSystemInfo
OSEnableHomeButtonMenu
OSIsHomeButtonMenuEnabled

// coreinit/taskqueue.h
MPInitTaskQ
MPTermTaskQ
MPGetTaskQInfo
MPStartTaskQ
MPStopTaskQ
MPResetTaskQ
MPEnqueTask
MPDequeTask
MPDequeTasks
MPWaitTaskQ
MPWaitTaskQWithTimeout
MPPrintTaskQStats
MPInitTask
MPTermTask
MPGetTaskInfo
MPGetTaskUserData
MPSetTaskUserData
MPRunTasksFromTaskQ
MPRunTask

// coreinit/thread.h
OSCancelThread
OSCheckActiveThreads
OSCheckThreadStackUsage
OSClearThreadStackUsage
OSContinueThread
OSCreateThread
OSDetachThread
OSExitThread
OSGetActiveThreadLink
OSGetCurrentThread
OSGetDefaultThread
OSGetStackPointer
OSGetThreadAffinity
OSGetThreadName
OSGetThreadPriority
OSGetThreadSpecific
OSIsThreadSuspended
OSIsThreadTerminated
OSJoinThread
OSResumeThread
OSRunThread
OSSetThreadAffinity
OSSetThreadCancelState
OSSetThreadCleanupCallback
OSSetThreadDeallocator
OSSetThreadName
OSSetThreadPriority
OSSetThreadRunQuantum
OSSetThreadSpecific
OSSetThreadStackUsage
OSSleepThread
OSSleepTicks
OSSuspendThread
OSTestThreadCancel
OSWakeupThread
OSYieldThread

// coreinit/threadqueue.h
OSInitThreadQueue
OSInitThreadQueueEx

// coreinit/time.h
OSGetTime
OSGetSystemTime
OSGetTick
OSGetSystemTick
OSCalendarTimeToTicks
OSTicksToCalendarTime

// coreinit/unitheap.h
MEMCreateUnitHeapEx
MEMDestroyUnitHeap
MEMAllocFromUnitHeap
MEMFreeToUnitHeap
MEMCountFreeBlockForUnitHeap
MEMCalcHeapSizeForUnitHeap

// coreinit/title.h
OSGetTitleID

// coreinit/internal.h
__os_snprintf

// ----------------------------------------------------------------------------
// Data exports
// ----------------------------------------------------------------------------

:DATA
// coreinit/memdefaultheap.h
MEMAllocFromDefaultHeap
MEMAllocFromDefaultHeapEx
MEMFreeToDefaultHeap
