/// @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