1 /// @file xed-error-enum.h
2 
3 // This file was automatically generated.
4 // Do not edit this file.
5 
6 #if !defined(XED_ERROR_ENUM_H)
7 # define XED_ERROR_ENUM_H
8 #include "xed-common-hdrs.h"
9 typedef enum {
10   XED_ERROR_NONE, ///< There was no error
11   XED_ERROR_BUFFER_TOO_SHORT, ///< There were not enough bytes in the given buffer
12   XED_ERROR_GENERAL_ERROR, ///< XED could not decode the given instruction
13   XED_ERROR_INVALID_FOR_CHIP, ///< The instruciton is not valid for the specified chip
14   XED_ERROR_BAD_REGISTER, ///< XED could not decode the given instruction because an invalid register encoding was used.
15   XED_ERROR_BAD_LOCK_PREFIX, ///< A lock prefix was found where none is allowed.
16   XED_ERROR_BAD_REP_PREFIX, ///< An F2 or F3 prefix was found where none is allowed.
17   XED_ERROR_BAD_LEGACY_PREFIX, ///< A 66, F2 or F3 prefix was found where none is allowed.
18   XED_ERROR_BAD_REX_PREFIX, ///< A REX prefix was found where none is allowed.
19   XED_ERROR_BAD_EVEX_UBIT, ///< An illegal value for the EVEX.U bit was present in the instruction.
20   XED_ERROR_BAD_MAP, ///< An illegal value for the MAP field was detected in the instruction.
21   XED_ERROR_BAD_EVEX_V_PRIME, ///< EVEX.V'=0 was detected in a non-64b mode instruction.
22   XED_ERROR_BAD_EVEX_Z_NO_MASKING, ///< EVEX.Z!=0 when EVEX.aaa==0
23   XED_ERROR_NO_OUTPUT_POINTER, ///< The output pointer for xed_agen was zero
24   XED_ERROR_NO_AGEN_CALL_BACK_REGISTERED, ///< One or both of the callbacks for xed_agen were missing.
25   XED_ERROR_BAD_MEMOP_INDEX, ///< Memop indices must be 0 or 1.
26   XED_ERROR_CALLBACK_PROBLEM, ///< The register or segment callback for xed_agen experienced a problem
27   XED_ERROR_GATHER_REGS, ///< The index, dest and mask regs for AVX2 gathers must be different.
28   XED_ERROR_INSTR_TOO_LONG, ///< Full decode of instruction would exeed 15B.
29   XED_ERROR_INVALID_MODE, ///< The instruction was not valid for the specified mode
30   XED_ERROR_BAD_EVEX_LL, ///< EVEX.LL must not ==3 unless using embedded rounding
31   XED_ERROR_LAST
32 } xed_error_enum_t;
33 
34 /// This converts strings to #xed_error_enum_t types.
35 /// @param s A C-string.
36 /// @return #xed_error_enum_t
37 /// @ingroup ENUM
38 XED_DLL_EXPORT xed_error_enum_t str2xed_error_enum_t(const char* s);
39 /// This converts strings to #xed_error_enum_t types.
40 /// @param p An enumeration element of type xed_error_enum_t.
41 /// @return string
42 /// @ingroup ENUM
43 XED_DLL_EXPORT const char* xed_error_enum_t2str(const xed_error_enum_t p);
44 
45 /// Returns the last element of the enumeration
46 /// @return xed_error_enum_t The last element of the enumeration.
47 /// @ingroup ENUM
48 XED_DLL_EXPORT xed_error_enum_t xed_error_enum_t_last(void);
49 #endif
50