Zydis: Segment

Zydis v4.1.0

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
Segment

Functions and types providing encoding information about individual instruction bytes. More...

## Data Structures
struct | ZydisInstructionSegments_
| Defines the `ZydisInstructionSegments` struct. More...

## Macros
#define | ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT 9

## Typedefs
typedef enum ZydisInstructionSegment_ | ZydisInstructionSegment
| Defines the `ZydisInstructionSegment` struct.
typedef struct ZydisInstructionSegments_ | ZydisInstructionSegments
| Defines the `ZydisInstructionSegments` struct.

## Enumerations
enum | ZydisInstructionSegment_ { ZYDIS_INSTR_SEGMENT_NONE , ZYDIS_INSTR_SEGMENT_PREFIXES , ZYDIS_INSTR_SEGMENT_REX , ZYDIS_INSTR_SEGMENT_XOP , ZYDIS_INSTR_SEGMENT_VEX , ZYDIS_INSTR_SEGMENT_EVEX , ZYDIS_INSTR_SEGMENT_MVEX , ZYDIS_INSTR_SEGMENT_OPCODE , ZYDIS_INSTR_SEGMENT_MODRM , ZYDIS_INSTR_SEGMENT_SIB , ZYDIS_INSTR_SEGMENT_DISPLACEMENT , ZYDIS_INSTR_SEGMENT_IMMEDIATE , ZYDIS_INSTR_SEGMENT_MAX_VALUE = ZYDIS_INSTR_SEGMENT_IMMEDIATE , ZYDIS_INSTR_SEGMENT_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_INSTR_SEGMENT_MAX_VALUE) }
| Defines the `ZydisInstructionSegment` struct. More...

## Functions
ZYDIS_EXPORT ZyanStatus | ZydisGetInstructionSegments (const ZydisDecodedInstruction *instruction, ZydisInstructionSegments *segments)
| Returns offsets and sizes of all logical instruction segments (e.g.

## Detailed Description

Functions and types providing encoding information about individual instruction bytes.

## Macro Definition Documentation

## ◆ ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT

#define ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT 9

## Typedef Documentation

## ◆ ZydisInstructionSegment

typedef enum ZydisInstructionSegment_ ZydisInstructionSegment

Defines the `ZydisInstructionSegment` struct.

## ◆ ZydisInstructionSegments

typedef struct ZydisInstructionSegments_ ZydisInstructionSegments

Defines the `ZydisInstructionSegments` struct.

## Enumeration Type Documentation

## ◆ ZydisInstructionSegment_

enum ZydisInstructionSegment_

Defines the `ZydisInstructionSegment` struct.

Enumerator
ZYDIS_INSTR_SEGMENT_NONE |
ZYDIS_INSTR_SEGMENT_PREFIXES | The legacy prefixes (including ignored `REX` prefixes).
ZYDIS_INSTR_SEGMENT_REX | The effective `REX` prefix byte.
ZYDIS_INSTR_SEGMENT_XOP | The `XOP` prefix bytes.
ZYDIS_INSTR_SEGMENT_VEX | The `VEX` prefix bytes.
ZYDIS_INSTR_SEGMENT_EVEX | The `EVEX` prefix bytes.
ZYDIS_INSTR_SEGMENT_MVEX | The `MVEX` prefix bytes.
ZYDIS_INSTR_SEGMENT_OPCODE | The opcode bytes.
ZYDIS_INSTR_SEGMENT_MODRM | The `ModRM` byte.
ZYDIS_INSTR_SEGMENT_SIB | The `SIB` byte.
ZYDIS_INSTR_SEGMENT_DISPLACEMENT | The displacement bytes.
ZYDIS_INSTR_SEGMENT_IMMEDIATE | The immediate bytes.
ZYDIS_INSTR_SEGMENT_MAX_VALUE | Maximum value of this enum.
ZYDIS_INSTR_SEGMENT_REQUIRED_BITS | The minimum number of bits required to represent all values of this enum.

## Function Documentation

## ◆ ZydisGetInstructionSegments()

ZYDIS_EXPORT ZyanStatus ZydisGetInstructionSegments | ( | const ZydisDecodedInstruction * | instruction,
|  | ZydisInstructionSegments * | segments )

Returns offsets and sizes of all logical instruction segments (e.g.

`OPCODE`, `MODRM`, ...).

Parameters

  instruction | A pointer to the `ZydisDecodedInstruction` struct.
  segments | Receives the instruction segments information.

Returns
  A zyan status code.