You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
3.7 KiB
74 lines
3.7 KiB
/// @file xed-error-enum.h
|
|
|
|
// This file was automatically generated.
|
|
// Do not edit this file.
|
|
|
|
#if !defined(XED_ERROR_ENUM_H)
|
|
# define XED_ERROR_ENUM_H
|
|
#include "xed-common-hdrs.h"
|
|
#define XED_ERROR_NONE_DEFINED 1
|
|
#define XED_ERROR_BUFFER_TOO_SHORT_DEFINED 1
|
|
#define XED_ERROR_GENERAL_ERROR_DEFINED 1
|
|
#define XED_ERROR_INVALID_FOR_CHIP_DEFINED 1
|
|
#define XED_ERROR_BAD_REGISTER_DEFINED 1
|
|
#define XED_ERROR_BAD_LOCK_PREFIX_DEFINED 1
|
|
#define XED_ERROR_BAD_REP_PREFIX_DEFINED 1
|
|
#define XED_ERROR_BAD_LEGACY_PREFIX_DEFINED 1
|
|
#define XED_ERROR_BAD_REX_PREFIX_DEFINED 1
|
|
#define XED_ERROR_BAD_EVEX_UBIT_DEFINED 1
|
|
#define XED_ERROR_BAD_MAP_DEFINED 1
|
|
#define XED_ERROR_BAD_EVEX_V_PRIME_DEFINED 1
|
|
#define XED_ERROR_BAD_EVEX_Z_NO_MASKING_DEFINED 1
|
|
#define XED_ERROR_NO_OUTPUT_POINTER_DEFINED 1
|
|
#define XED_ERROR_NO_AGEN_CALL_BACK_REGISTERED_DEFINED 1
|
|
#define XED_ERROR_BAD_MEMOP_INDEX_DEFINED 1
|
|
#define XED_ERROR_CALLBACK_PROBLEM_DEFINED 1
|
|
#define XED_ERROR_GATHER_REGS_DEFINED 1
|
|
#define XED_ERROR_INSTR_TOO_LONG_DEFINED 1
|
|
#define XED_ERROR_INVALID_MODE_DEFINED 1
|
|
#define XED_ERROR_BAD_EVEX_LL_DEFINED 1
|
|
#define XED_ERROR_BAD_REG_MATCH_DEFINED 1
|
|
#define XED_ERROR_LAST_DEFINED 1
|
|
typedef enum {
|
|
XED_ERROR_NONE, ///< There was no error
|
|
XED_ERROR_BUFFER_TOO_SHORT, ///< There were not enough bytes in the given buffer
|
|
XED_ERROR_GENERAL_ERROR, ///< XED could not decode the given instruction
|
|
XED_ERROR_INVALID_FOR_CHIP, ///< The instruciton is not valid for the specified chip
|
|
XED_ERROR_BAD_REGISTER, ///< XED could not decode the given instruction because an invalid register encoding was used.
|
|
XED_ERROR_BAD_LOCK_PREFIX, ///< A lock prefix was found where none is allowed.
|
|
XED_ERROR_BAD_REP_PREFIX, ///< An F2 or F3 prefix was found where none is allowed.
|
|
XED_ERROR_BAD_LEGACY_PREFIX, ///< A 66, F2 or F3 prefix was found where none is allowed.
|
|
XED_ERROR_BAD_REX_PREFIX, ///< A REX prefix was found where none is allowed.
|
|
XED_ERROR_BAD_EVEX_UBIT, ///< An illegal value for the EVEX.U bit was present in the instruction.
|
|
XED_ERROR_BAD_MAP, ///< An illegal value for the MAP field was detected in the instruction.
|
|
XED_ERROR_BAD_EVEX_V_PRIME, ///< EVEX.V'=0 was detected in a non-64b mode instruction.
|
|
XED_ERROR_BAD_EVEX_Z_NO_MASKING, ///< EVEX.Z!=0 when EVEX.aaa==0
|
|
XED_ERROR_NO_OUTPUT_POINTER, ///< The output pointer for xed_agen was zero
|
|
XED_ERROR_NO_AGEN_CALL_BACK_REGISTERED, ///< One or both of the callbacks for xed_agen were missing.
|
|
XED_ERROR_BAD_MEMOP_INDEX, ///< Memop indices must be 0 or 1.
|
|
XED_ERROR_CALLBACK_PROBLEM, ///< The register or segment callback for xed_agen experienced a problem
|
|
XED_ERROR_GATHER_REGS, ///< The index, dest and mask regs for AVX2 gathers must be different.
|
|
XED_ERROR_INSTR_TOO_LONG, ///< Full decode of instruction would exeed 15B.
|
|
XED_ERROR_INVALID_MODE, ///< The instruction was not valid for the specified mode
|
|
XED_ERROR_BAD_EVEX_LL, ///< EVEX.LL must not ==3 unless using embedded rounding
|
|
XED_ERROR_BAD_REG_MATCH, ///< Source registers must not match the destination register for this instruction.
|
|
XED_ERROR_LAST
|
|
} xed_error_enum_t;
|
|
|
|
/// This converts strings to #xed_error_enum_t types.
|
|
/// @param s A C-string.
|
|
/// @return #xed_error_enum_t
|
|
/// @ingroup ENUM
|
|
XED_DLL_EXPORT xed_error_enum_t str2xed_error_enum_t(const char* s);
|
|
/// This converts strings to #xed_error_enum_t types.
|
|
/// @param p An enumeration element of type xed_error_enum_t.
|
|
/// @return string
|
|
/// @ingroup ENUM
|
|
XED_DLL_EXPORT const char* xed_error_enum_t2str(const xed_error_enum_t p);
|
|
|
|
/// Returns the last element of the enumeration
|
|
/// @return xed_error_enum_t The last element of the enumeration.
|
|
/// @ingroup ENUM
|
|
XED_DLL_EXPORT xed_error_enum_t xed_error_enum_t_last(void);
|
|
#endif
|