// SPDX-License-Identifier: MIT #pragma once #include #include #include extern "C" { void STDMETHODCALLTYPE BTCpuProcessInit(); NTSTATUS STDMETHODCALLTYPE BTCpuThreadInit(); NTSTATUS STDMETHODCALLTYPE BTCpuThreadTerm(HANDLE Thread); void STDMETHODCALLTYPE *BTCpuGetBopCode(); void STDMETHODCALLTYPE *__wine_get_unix_opcode(); NTSTATUS STDMETHODCALLTYPE BTCpuGetContext(HANDLE Thread, HANDLE Process, void *Unknown, WOW64_CONTEXT *Context); NTSTATUS STDMETHODCALLTYPE BTCpuSetContext(HANDLE Thread, HANDLE Process, void *Unknown, WOW64_CONTEXT *Context); void STDMETHODCALLTYPE BTCpuSimulate(); NTSTATUS STDMETHODCALLTYPE BTCpuSuspendLocalThread(HANDLE Thread, ULONG *Count); NTSTATUS STDMETHODCALLTYPE BTCpuResetToConsistentState(EXCEPTION_POINTERS *Ptrs); void STDMETHODCALLTYPE BTCpuFlushInstructionCache2(const void *Address, SIZE_T Size); void STDMETHODCALLTYPE BTCpuNotifyMemoryAlloc(void *Address, SIZE_T Size, ULONG Type, ULONG Prot); void STDMETHODCALLTYPE BTCpuNotifyMemoryProtect(void *Address, SIZE_T Size, ULONG NewProt); void STDMETHODCALLTYPE BTCpuNotifyMemoryFree(void *Address, SIZE_T Size, ULONG FreeType); void STDMETHODCALLTYPE BTCpuNotifyUnmapViewOfSection(void *Address, ULONG Flags); BOOLEAN STDMETHODCALLTYPE BTCpuIsProcessorFeaturePresent(UINT Feature); BOOLEAN STDMETHODCALLTYPE BTCpuUpdateProcessorInformation(SYSTEM_CPU_INFORMATION *Info); }