32 #ifndef ZYDIS_DECODER_H
33 #define ZYDIS_DECODER_H
Includes and defines some default datatypes.
uint64_t ZydisU64
Definition: CommonTypes.h:48
uint8_t ZydisU8
Definition: CommonTypes.h:45
ZydisU8 ZydisBool
@briefs Defines the ZydisBool datatype.
Definition: CommonTypes.h:133
size_t ZydisUSize
Definition: CommonTypes.h:53
Defines the basic ZydisDecodedInstruction and ZydisDecodedOperand structs.
ZydisU8 ZydisDecoderMode
Defines the ZydisDecoderMode datatype.
Definition: Decoder.h:55
ZYDIS_EXPORT ZydisStatus ZydisDecoderDecodeBuffer(const ZydisDecoder *decoder, const void *buffer, ZydisUSize bufferLen, ZydisU64 instructionPointer, ZydisDecodedInstruction *instruction)
Decodes the instruction in the given input buffer.
ZydisDecoderModes
Values that represent decoder-modes.
Definition: Decoder.h:61
@ ZYDIS_DECODER_MODE_WBNOINVD
Enables the WBNOINVD mode.
Definition: Decoder.h:135
@ ZYDIS_DECODER_MODE_KNC
Enables KNC compatibility-mode.
Definition: Decoder.h:94
@ ZYDIS_DECODER_MODE_LZCNT
Enables the LZCNT mode.
Definition: Decoder.h:118
@ ZYDIS_DECODER_MODE_MINIMAL
Enables minimal instruction decoding without semantic analysis.
Definition: Decoder.h:74
@ ZYDIS_DECODER_MODE_TZCNT
Enables the TZCNT mode.
Definition: Decoder.h:126
@ ZYDIS_DECODER_MODE_MAX_VALUE
Maximum value of this enum.
Definition: Decoder.h:140
@ ZYDIS_DECODER_MODE_AMD_BRANCHES
Enables the AMD-branch mode.
Definition: Decoder.h:85
@ ZYDIS_DECODER_MODE_MPX
Enables the MPX mode.
Definition: Decoder.h:102
@ ZYDIS_DECODER_MODE_CET
Enables the CET mode.
Definition: Decoder.h:110
struct ZydisDecoder_ ZydisDecoder
Defines the ZydisDecoder struct.
ZYDIS_EXPORT ZydisStatus ZydisDecoderEnableMode(ZydisDecoder *decoder, ZydisDecoderMode mode, ZydisBool enabled)
Enables or disables the specified decoder-mode.
ZYDIS_EXPORT ZydisStatus ZydisDecoderInit(ZydisDecoder *decoder, ZydisMachineMode machineMode, ZydisAddressWidth addressWidth)
Initializes the given ZydisDecoder instance.
General helper and platform detection macros.
ZydisU8 ZydisAddressWidth
Defines the ZydisAddressWidth datatype.
Definition: SharedTypes.h:111
ZydisU8 ZydisMachineMode
Defines the ZydisMachineMode datatype.
Definition: SharedTypes.h:65
Status code definitions and check macros.
ZydisU32 ZydisStatus
Defines the ZydisStatus datatype.
Definition: Status.h:48
Defines the ZydisDecodedInstruction struct.
Definition: DecoderTypes.h:818
Defines the ZydisDecoder struct.
Definition: Decoder.h:151
ZydisAddressWidth addressWidth
Definition: Decoder.h:153
ZydisBool decoderMode[ZYDIS_DECODER_MODE_MAX_VALUE+1]
Definition: Decoder.h:154
ZydisMachineMode machineMode
Definition: Decoder.h:152