32#ifndef ZYDIS_SEGMENT_H
33#define ZYDIS_SEGMENT_H
35#include <Zycore/Defines.h>
57#define ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT 9
Defines the basic ZydisDecodedInstruction and ZydisDecodedOperand structs.
struct ZydisDecodedInstruction_ ZydisDecodedInstruction
Information about a decoded instruction.
#define ZYDIS_EXPORT
Symbol is exported in shared library builds.
Definition Defines.h:67
Status code definitions and check macros.
ZYDIS_EXPORT ZyanStatus ZydisGetInstructionSegments(const ZydisDecodedInstruction *instruction, ZydisInstructionSegments *segments)
Returns offsets and sizes of all logical instruction segments (e.g.
enum ZydisInstructionSegment_ ZydisInstructionSegment
Defines the ZydisInstructionSegment struct.
#define ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT
Definition Segment.h:57
struct ZydisInstructionSegments_ ZydisInstructionSegments
Defines the ZydisInstructionSegments struct.
ZydisInstructionSegment_
Defines the ZydisInstructionSegment struct.
Definition Segment.h:69
@ ZYDIS_INSTR_SEGMENT_NONE
Definition Segment.h:70
@ ZYDIS_INSTR_SEGMENT_XOP
The XOP prefix bytes.
Definition Segment.h:82
@ ZYDIS_INSTR_SEGMENT_IMMEDIATE
The immediate bytes.
Definition Segment.h:114
@ ZYDIS_INSTR_SEGMENT_OPCODE
The opcode bytes.
Definition Segment.h:98
@ ZYDIS_INSTR_SEGMENT_MODRM
The ModRM byte.
Definition Segment.h:102
@ ZYDIS_INSTR_SEGMENT_MVEX
The MVEX prefix bytes.
Definition Segment.h:94
@ ZYDIS_INSTR_SEGMENT_REX
The effective REX prefix byte.
Definition Segment.h:78
@ ZYDIS_INSTR_SEGMENT_SIB
The SIB byte.
Definition Segment.h:106
@ ZYDIS_INSTR_SEGMENT_REQUIRED_BITS
The minimum number of bits required to represent all values of this enum.
Definition Segment.h:123
@ ZYDIS_INSTR_SEGMENT_EVEX
The EVEX prefix bytes.
Definition Segment.h:90
@ ZYDIS_INSTR_SEGMENT_VEX
The VEX prefix bytes.
Definition Segment.h:86
@ ZYDIS_INSTR_SEGMENT_DISPLACEMENT
The displacement bytes.
Definition Segment.h:110
@ ZYDIS_INSTR_SEGMENT_PREFIXES
The legacy prefixes (including ignored REX prefixes).
Definition Segment.h:74
@ ZYDIS_INSTR_SEGMENT_MAX_VALUE
Maximum value of this enum.
Definition Segment.h:119
ZyanU8 size
The size of the segment, in bytes.
ZydisInstructionSegment type
The type of the segment.
ZyanU8 offset
The offset of the segment relative to the start of the instruction (in bytes).
Defines the ZydisInstructionSegments struct.
Definition Segment.h:130
ZyanU8 count
The number of logical instruction segments.
Definition Segment.h:134
struct ZydisInstructionSegments_::@176220343236242316127027002147332115110201156274 segments[ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT]