; $Id: VMMR3.def $
;; @file
; VMM Ring-3 Context DLL - Definition file.

;
; Copyright (C) 2010-2020 Oracle Corporation
;
; This file is part of VirtualBox Open Source Edition (OSE), as
; available from http://www.virtualbox.org. This file is free software;
; you can redistribute it and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
;

LIBRARY VBoxVMM.dll
EXPORTS
    ; data

    ; code
    CFGMR3GetRoot
    CFGMR3GetFirstChild
    CFGMR3GetNextChild
    CFGMR3GetNameLen
    CFGMR3GetFirstValue
    CFGMR3GetNextValue
    CFGMR3GetValueNameLen
    CFGMR3GetValueType
    CFGMR3Dump
    CFGMR3CreateTree
    CFGMR3DestroyTree
    CFGMR3GetValueName
    CFGMR3GetName
    CFGMR3RemoveNode
    CFGMR3InsertBytes
    CFGMR3InsertStringFV
    CFGMR3InsertStringF
    CFGMR3InsertStringN
    CFGMR3InsertString
    CFGMR3InsertStringW
    CFGMR3InsertInteger
    CFGMR3QueryStringAllocDef
    CFGMR3RemoveValue
    CFGMR3QueryIntegerDef
    CFGMR3QueryGCPtrSDef
    CFGMR3QueryGCPtrUDef
    CFGMR3QueryGCPtrDef
    CFGMR3QueryPtrDef
    CFGMR3QueryBoolDef
    CFGMR3QueryS8Def
    CFGMR3QueryU8Def
    CFGMR3QueryS16Def
    CFGMR3QueryU16Def
    CFGMR3QueryPortDef
    CFGMR3QueryS32Def
    CFGMR3QuerySIntDef
    CFGMR3QueryU32Def
    CFGMR3QueryUIntDef
    CFGMR3QueryS64Def
    CFGMR3QueryU64Def
    CFGMR3QueryInteger
    CFGMR3QueryGCPtrS
    CFGMR3QueryGCPtrU
    CFGMR3QueryGCPtr
    CFGMR3QueryPtr
    CFGMR3QueryBool
    CFGMR3QueryS8
    CFGMR3QueryU8
    CFGMR3QueryS16
    CFGMR3QueryU16
    CFGMR3QueryPort
    CFGMR3QueryS32
    CFGMR3QuerySInt
    CFGMR3QueryU32
    CFGMR3QueryUInt
    CFGMR3QueryS64
    CFGMR3QueryU64
    CFGMR3QuerySize
    CFGMR3QueryType
    CFGMR3AreValuesValid
    CFGMR3AreChildrenValid
    CFGMR3GetChildFV
    CFGMR3GetChildF
    CFGMR3GetChild
    CFGMR3InsertNode
    CFGMR3InsertNodeFV
    CFGMR3InsertNodeF
    CFGMR3InsertSubTree
    CFGMR3ValidateConfig
    CFGMR3QueryBytes
    CFGMR3QueryStringDef
    CFGMR3QueryString
    CFGMR3QueryStringAlloc
    CFGMR3GetParent
    CFGMR3GetRootU

    CPUMGetHostMicroarch
    CPUMGetGuestMicroarch

    DBGCCreate

    DBGFR3CoreWrite
    DBGFR3Info
    DBGFR3InfoRegisterExternal
    DBGFR3InfoDeregisterExternal
    DBGFR3InfoGenricGetOptError
    DBGFR3InjectNMI
    DBGFR3LogModifyDestinations
    DBGFR3LogModifyFlags
    DBGFR3LogModifyGroups
    DBGFR3OSDetect
    DBGFR3OSQueryNameAndVersion
    DBGFR3RegCpuQueryU8
    DBGFR3RegCpuQueryU16
    DBGFR3RegCpuQueryU32
    DBGFR3RegCpuQueryU64
    DBGFR3RegCpuQueryXdtr
    DBGFR3RegCpuQueryLrd
    DBGFR3RegFormatValue
    DBGFR3RegNmQuery
    DBGFR3RegNmQueryAll
    DBGFR3RegNmQueryAllCount
    DBGFR3OSDeregister
    DBGFR3OSRegister
    DBGFR3OSQueryInterface
    DBGFR3MemReadString
    DBGFR3MemRead
    DBGFR3MemScan
    DBGFR3ModInMem
    DBGFR3AddrFromFlat
    DBGFR3AsSymbolByName
    DBGFR3AsResolveAndRetain
    DBGFR3AsSetAlias
    DBGFR3AddrAdd
    DBGFR3AddrSub
    DBGFR3AsGetConfig
    DBGFR3CpuGetMode
    DBGFR3AddrFromSelOff
    DBGFR3FlowCreate
    DBGFR3FlowRetain
    DBGFR3FlowRelease
    DBGFR3FlowQueryStartBb
    DBGFR3FlowQueryBbByAddress
    DBGFR3FlowQueryBranchTblByAddress
    DBGFR3FlowGetBbCount
    DBGFR3FlowGetBranchTblCount
    DBGFR3FlowBbRetain
    DBGFR3FlowBbRelease
    DBGFR3FlowBbGetStartAddress
    DBGFR3FlowBbGetEndAddress
    DBGFR3FlowBbGetBranchAddress
    DBGFR3FlowBbGetFollowingAddress
    DBGFR3FlowBbGetType
    DBGFR3FlowBbGetInstrCount
    DBGFR3FlowBbGetFlags
    DBGFR3FlowBbQueryBranchTbl
    DBGFR3FlowBbQueryError
    DBGFR3FlowBbQueryInstr
    DBGFR3FlowBbQuerySuccessors
    DBGFR3FlowBbGetRefBbCount
    DBGFR3FlowBbGetRefBb
    DBGFR3FlowBranchTblRetain
    DBGFR3FlowBranchTblRelease
    DBGFR3FlowBranchTblGetSlots
    DBGFR3FlowBranchTblGetStartAddress
    DBGFR3FlowBranchTblGetAddrAtSlot
    DBGFR3FlowBranchTblQueryAddresses
    DBGFR3FlowItCreate
    DBGFR3FlowItDestroy
    DBGFR3FlowItNext
    DBGFR3FlowItReset
    DBGFR3FlowBranchTblItCreate
    DBGFR3FlowBranchTblItDestroy
    DBGFR3FlowBranchTblItNext
    DBGFR3FlowBranchTblItReset
    DBGFR3PlugInLoad
    DBGFR3PlugInUnload
    DBGFR3PlugInLoadAll
    DBGFR3PlugInUnloadAll
    DBGFR3SelQueryInfo
    DBGFR3StackWalkBegin
    DBGFR3StackWalkNext
    DBGFR3StackWalkEnd
    DBGFR3TypeDeregister
    DBGFR3TypeDumpEx
    DBGFR3TypeQueryReg
    DBGFR3TypeQuerySize
    DBGFR3TypeQueryValByType
    DBGFR3TypeRegister
    DBGFR3TypeSetSize
    DBGFR3TypeValFree
    DBGFR3TypeValDumpEx

    EMR3QueryExecutionPolicy
    EMR3QueryMainExecutionEngine
    EMR3SetExecutionPolicy

    MMHyperR3ToR0
    MMHyperR3ToRC

    HMR3IsEnabled
    HMR3IsNestedPagingActive
    HMR3IsUXActive
    HMR3IsVpidActive

    MMR3HeapFree
    MMR3HeapRealloc
    MMR3HeapAllocU

    MMR3HyperAllocOnceNoRel

    PDMR3AsyncCompletionBwMgrSetMaxForFile
    PDMR3DeviceAttach
    PDMR3DeviceDetach
    PDMR3DriverAttach
    PDMR3DriverDetach
    PDMR3NsBwGroupSetLimit
    PDMR3QueryDeviceLun
    PDMR3QueryDriverOnLun
    PDMR3QueryLun

    PDMCritSectEnter
    PDMCritSectEnterDebug
    PDMCritSectTryEnter
    PDMCritSectTryEnterDebug
    PDMR3CritSectEnterEx
    PDMCritSectLeave
    PDMCritSectIsOwner
    PDMCritSectIsOwnerEx
    PDMCritSectIsOwned
    PDMCritSectIsInitialized
    PDMCritSectHasWaiters
    PDMCritSectGetRecursion
    PDMR3CritSectYield
    PDMR3CritSectName
    PDMR3CritSectScheduleExitEvent
    PDMR3CritSectDelete

    PDMR3QueueDestroy
    PDMQueueAlloc
    PDMQueueInsert
    PDMQueueInsertEx
    PDMQueueR0Ptr
    PDMQueueRCPtr

    PDMR3ThreadDestroy
    PDMR3ThreadIAmRunning
    PDMR3ThreadIAmSuspending
    PDMR3ThreadResume
    PDMR3ThreadSleep
    PDMR3ThreadSuspend

    PDMR3UsbCreateEmulatedDevice
    PDMR3UsbCreateProxyDevice
    PDMR3UsbDetachDevice
    PDMR3UsbHasHub
    PDMR3UsbDriverAttach
    PDMR3UsbDriverDetach
    PDMR3UsbQueryLun
    PDMR3UsbQueryDriverOnLun

    PGMHandlerPhysicalPageTempOff
    PGMPhysReadGCPtr
    PGMPhysSimpleDirtyWriteGCPtr
    PGMPhysSimpleReadGCPtr
    PGMPhysSimpleWriteGCPhys
    PGMPhysSimpleWriteGCPtr
    PGMPhysWriteGCPtr
    PGMShwMakePageWritable
    PGMR3QueryGlobalMemoryStats
    PGMR3QueryMemoryStats

    SSMR3Close
    SSMR3DeregisterExternal
    SSMR3DeregisterInternal
    SSMR3GetBool
    SSMR3GetBoolV
    SSMR3GetGCPhys
    SSMR3GetGCPhysV
    SSMR3GetGCPhys32
    SSMR3GetGCPhys32V
    SSMR3GetGCPhys64
    SSMR3GetGCPhys64V
    SSMR3GetGCPtr
    SSMR3GetGCUInt
    SSMR3GetGCUIntPtr
    SSMR3GetGCUIntReg
    SSMR3GetIOPort
    SSMR3GetMem
    SSMR3GetRCPtr
    SSMR3GetS128
    SSMR3GetS128V
    SSMR3GetS16
    SSMR3GetS16V
    SSMR3GetS32
    SSMR3GetS32V
    SSMR3GetS64
    SSMR3GetS64V
    SSMR3GetS8
    SSMR3GetS8V
    SSMR3GetSInt
    SSMR3GetSel
    SSMR3GetStrZ
    SSMR3GetStrZEx
    SSMR3GetStruct
    SSMR3GetStructEx
    SSMR3GetU128
    SSMR3GetU128V
    SSMR3GetU16
    SSMR3GetU16V
    SSMR3GetU32
    SSMR3GetU32V
    SSMR3GetU64
    SSMR3GetU64V
    SSMR3GetU8
    SSMR3GetU8V
    SSMR3GetUInt
    SSMR3HandleGetAfter
    SSMR3HandleGetStatus
    SSMR3HandleHostBits
    SSMR3HandleHostOSAndArch
    SSMR3HandleIsLiveSave
    SSMR3HandleMaxDowntime
    SSMR3HandleReportLivePercent
    SSMR3HandleRevision
    SSMR3HandleSetStatus
    SSMR3HandleVersion
    SSMR3Open
    SSMR3PutBool
    SSMR3PutGCPhys
    SSMR3PutGCPhys32
    SSMR3PutGCPhys64
    SSMR3PutGCPtr
    SSMR3PutGCUInt
    SSMR3PutGCUIntPtr
    SSMR3PutGCUIntReg
    SSMR3PutIOPort
    SSMR3PutMem
    SSMR3PutRCPtr
    SSMR3PutS128
    SSMR3PutS16
    SSMR3PutS32
    SSMR3PutS64
    SSMR3PutS8
    SSMR3PutSInt
    SSMR3PutSel
    SSMR3PutStrZ
    SSMR3PutStruct
    SSMR3PutStructEx
    SSMR3PutU128
    SSMR3PutU16
    SSMR3PutU32
    SSMR3PutU64
    SSMR3PutU8
    SSMR3PutUInt
    SSMR3Seek
    SSMR3SetCfgError
    SSMR3SetLoadError
    SSMR3SetLoadErrorV
    SSMR3Skip
    SSMR3SkipToEndOfUnit
    SSMR3ValidateFile
    SSMR3Cancel
    SSMR3RegisterExternal

    STAMR3Dump
    STAMR3Enum
    STAMR3Reset
    STAMR3Snapshot
    STAMR3SnapshotFree
    STAMR3GetUnit
    STAMR3RegisterFU
    STAMR3RegisterVU
    STAMR3DeregisterF
    STAMR3DeregisterV

    TMR3GetCpuLoadPercents
    TMR3TimerSetCritSect
    TMR3TimerLoad
    TMR3TimerSave
    TMR3TimerSkip
    TMR3TimerDestroy
    TMTimerFromMicro
    TMTimerFromMilli
    TMTimerFromNano
    TMTimerGet
    TMTimerGetFreq
    TMTimerGetMicro
    TMTimerGetMilli
    TMTimerGetNano
    TMTimerIsActive
    TMTimerIsLockOwner
    TMTimerLock
    TMTimerR0Ptr
    TMTimerR3Ptr
    TMTimerRCPtr
    TMTimerSet
    TMTimerSetFrequencyHint
    TMTimerSetMicro
    TMTimerSetMillies
    TMTimerSetNano
    TMTimerSetRelative
    TMTimerStop
    TMTimerToMicro
    TMTimerToMilli
    TMTimerToNano
    TMTimerUnlock
    TMR3GetWarpDrive
    TMR3SetWarpDrive
    TMR3TimeVirtGet
    TMR3TimeVirtGetMicro
    TMR3TimeVirtGetMilli
    TMR3TimeVirtGetNano

    VMMGetCpu

    VMMGetSvnRev
    VMSetError
    VMSetErrorV
    VMR3AtErrorDeregister
    VMR3AtErrorRegister
    VMR3AtRuntimeErrorRegister
    VMR3AtStateRegister
    VMR3Create
    VMR3Destroy
    VMR3GetCpuCoreAndPackageIdFromCpuId
    VMR3GetStateName
    VMR3GetStateU
    VMR3GetSuspendReason
    VMR3GetVM
    VMR3HotPlugCpu
    VMR3HotUnplugCpu
    VMR3LoadFromFile
    VMR3LoadFromStream
    VMR3PowerOff
    VMR3PowerOn
    VMR3ReleaseUVM
    VMR3ReqCallNoWaitU
    VMR3ReqCallU
    VMR3ReqCallVoidWaitU
    VMR3ReqCallWaitU
    VMR3ReqFree
    VMR3ReqPriorityCallWaitU
    VMR3ReqWait
    VMR3Reset
    VMR3Resume
    VMR3RetainUVM
    VMR3Save
    VMR3SetCpuExecutionCap
    VMR3SetError
    VMR3SetPowerOffInsteadOfReset
    VMR3Suspend
    VMR3Teleport
    VMR3AtStateDeregister
    VMR3GetUVM

