32 #ifndef ZYDIS_DECODER_H 33 #define ZYDIS_DECODER_H 35 #include <Zycore/Types.h> 36 #include <Zycore/Defines.h> ZyanBool decoder_mode[ZYDIS_DECODER_MODE_MAX_VALUE+1]
The decoder mode array.
Definition: Decoder.h:173
Enables the CET mode.
Definition: Decoder.h:105
enum ZydisMachineMode_ ZydisMachineMode
Defines the ZydisMachineMode enum.
Enables the TZCNT mode.
Definition: Decoder.h:121
Information about a decoded instruction.
Definition: DecoderTypes.h:1237
struct ZydisDecoder_ ZydisDecoder
Defines the ZydisDecoder struct.
ZYDIS_EXPORT ZyanStatus ZydisDecoderInit(ZydisDecoder *decoder, ZydisMachineMode machine_mode, ZydisStackWidth stack_width)
Initializes the given ZydisDecoder instance.
Enables the LZCNT mode.
Definition: Decoder.h:113
Enables the WBNOINVD mode.
Definition: Decoder.h:130
The minimum number of bits required to represent all values of this enum.
Definition: Decoder.h:147
enum ZydisDecoderMode_ ZydisDecoderMode
Defines the ZydisDecoderMode enum.
ZYDIS_EXPORT ZyanStatus ZydisDecoderDecodeInstruction(const ZydisDecoder *decoder, ZydisDecoderContext *context, const void *buffer, ZyanUSize length, ZydisDecodedInstruction *instruction)
Decodes the instruction in the given input buffer.
#define ZYDIS_EXPORT
Symbol is exported in shared library builds.
Definition: Defines.h:67
Maximum value of this enum.
Definition: Decoder.h:143
The decoder context is used to preserve some internal state between subsequent decode operations for ...
Definition: DecoderTypes.h:1338
ZydisDecoderMode_
Defines the ZydisDecoderMode enum.
Definition: Decoder.h:55
Enables the MPX mode.
Definition: Decoder.h:97
ZYDIS_EXPORT ZyanStatus ZydisDecoderDecodeFull(const ZydisDecoder *decoder, const void *buffer, ZyanUSize length, ZydisDecodedInstruction *instruction, ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT])
Decodes the instruction in the given input buffer and returns all details (e.g.
ZydisStackWidth stack_width
The stack width.
Definition: Decoder.h:169
Enables minimal instruction decoding without semantic analysis.
Definition: Decoder.h:69
enum ZydisStackWidth_ ZydisStackWidth
Defines the ZydisStackWidth enum.
Defines the ZydisDecoder struct.
Definition: Decoder.h:160
ZYDIS_EXPORT ZyanStatus ZydisDecoderEnableMode(ZydisDecoder *decoder, ZydisDecoderMode mode, ZyanBool enabled)
Enables or disables the specified decoder-mode.
Enables the AMD-branch mode.
Definition: Decoder.h:80
Defines the basic ZydisDecodedInstruction and ZydisDecodedOperand structs.
Enables KNC compatibility-mode.
Definition: Decoder.h:89
Enables the CLDEMOTE mode.
Definition: Decoder.h:138
ZYDIS_EXPORT ZyanStatus ZydisDecoderDecodeOperands(const ZydisDecoder *decoder, const ZydisDecoderContext *context, const ZydisDecodedInstruction *instruction, ZydisDecodedOperand *operands, ZyanU8 operand_count)
Decodes the instruction operands.
Defines the ZydisDecodedOperand struct.
Definition: DecoderTypes.h:199
Status code definitions and check macros.
ZydisMachineMode machine_mode
The machine mode.
Definition: Decoder.h:165