Zydis  v3.0.0
Macros
Status.h File Reference

Status code definitions and check macros. More...

#include <Zycore/Status.h>

Go to the source code of this file.

Macros

#define ZYAN_MODULE_ZYDIS   0x002
 The zydis module id.
 
#define ZYDIS_STATUS_NO_MORE_DATA   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x00)
 An attempt was made to read data from an input data-source that has no more data available.
 
#define ZYDIS_STATUS_DECODING_ERROR   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x01)
 An general error occured while decoding the current instruction. The instruction might be undefined.
 
#define ZYDIS_STATUS_INSTRUCTION_TOO_LONG   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x02)
 The instruction exceeded the maximum length of 15 bytes.
 
#define ZYDIS_STATUS_BAD_REGISTER   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x03)
 The instruction encoded an invalid register.
 
#define ZYDIS_STATUS_ILLEGAL_LOCK   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x04)
 A lock-prefix (F0) was found while decoding an instruction that does not support locking.
 
#define ZYDIS_STATUS_ILLEGAL_LEGACY_PFX   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x05)
 A legacy-prefix (F2, F3, 66) was found while decoding a XOP/VEX/EVEX/MVEX instruction.
 
#define ZYDIS_STATUS_ILLEGAL_REX   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x06)
 A rex-prefix was found while decoding a XOP/VEX/EVEX/MVEX instruction.
 
#define ZYDIS_STATUS_INVALID_MAP   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x07)
 An invalid opcode-map value was found while decoding a XOP/VEX/EVEX/MVEX-prefix.
 
#define ZYDIS_STATUS_MALFORMED_EVEX   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x08)
 An error occured while decoding the EVEX-prefix.
 
#define ZYDIS_STATUS_MALFORMED_MVEX   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x09)
 An error occured while decoding the MVEX-prefix.
 
#define ZYDIS_STATUS_INVALID_MASK   ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x0A)
 An invalid write-mask was specified for an EVEX/MVEX instruction.
 
#define ZYDIS_STATUS_SKIP_TOKEN   ZYAN_MAKE_STATUS(0, ZYAN_MODULE_ZYDIS, 0x0B)
 Returning this status code in some specified formatter callbacks will cause the formatter to omit the corresponding token. More...
 

Detailed Description

Status code definitions and check macros.

Macro Definition Documentation

◆ ZYDIS_STATUS_SKIP_TOKEN

#define ZYDIS_STATUS_SKIP_TOKEN   ZYAN_MAKE_STATUS(0, ZYAN_MODULE_ZYDIS, 0x0B)

Returning this status code in some specified formatter callbacks will cause the formatter to omit the corresponding token.

Valid callbacks:

  • ZYDIS_FORMATTER_FUNC_PRE_OPERAND
  • ZYDIS_FORMATTER_FUNC_POST_OPERAND
  • ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG
  • ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM
  • ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR
  • ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM