mirror of https://github.com/x64dbg/GleeBug
33 lines
1.3 KiB
C
33 lines
1.3 KiB
C
#ifndef _GLOBAL_ENGINE_CONTEXT_H
|
|
#define _GLOBAL_ENGINE_CONTEXT_H
|
|
|
|
#include "TitanEngine.h"
|
|
|
|
#undef CONTEXT_XSTATE
|
|
|
|
#if defined(_M_X64)
|
|
#define CONTEXT_XSTATE (0x00100040)
|
|
#else
|
|
#define CONTEXT_XSTATE (0x00010040)
|
|
#endif
|
|
|
|
#define XSTATE_AVX (XSTATE_GSSE)
|
|
#define XSTATE_MASK_AVX (XSTATE_MASK_GSSE)
|
|
|
|
typedef DWORD64(WINAPI* PGETENABLEDXSTATEFEATURES)();
|
|
typedef BOOL (WINAPI* PINITIALIZECONTEXT)(PVOID Buffer, DWORD ContextFlags, PCONTEXT* Context, PDWORD ContextLength);
|
|
typedef BOOL (WINAPI* PGETXSTATEFEATURESMASK)(PCONTEXT Context, PDWORD64 FeatureMask);
|
|
typedef PVOID(WINAPI* LOCATEXSTATEFEATURE)(PCONTEXT Context, DWORD FeatureId, PDWORD Length);
|
|
typedef BOOL (WINAPI* SETXSTATEFEATURESMASK)(PCONTEXT Context, DWORD64 FeatureMask);
|
|
|
|
extern PGETENABLEDXSTATEFEATURES _GetEnabledXStateFeatures;
|
|
extern PINITIALIZECONTEXT _InitializeContext;
|
|
extern PGETXSTATEFEATURESMASK _GetXStateFeaturesMask;
|
|
extern LOCATEXSTATEFEATURE _LocateXStateFeature;
|
|
extern SETXSTATEFEATURESMASK _SetXStateFeaturesMask;
|
|
|
|
bool _SetFullContextDataEx(HANDLE hActiveThread, TITAN_ENGINE_CONTEXT_t* titcontext, bool AVX_PRIORITY);
|
|
bool _GetFullContextDataEx(HANDLE hActiveThread, TITAN_ENGINE_CONTEXT_t* titcontext, bool avx);
|
|
bool InitXState(void);
|
|
|
|
#endif //_GLOBAL_ENGINE_CONTEXT_H
|