50 extern FILE* xed_log_file;
52 #define XED_EMIT_MESSAGES (XED_MESSAGES==1 && xed_verbose >= 1)
53 #define XED_INFO_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 2)
54 #define XED_INFO2_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 3)
55 #define XED_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 4)
56 #define XED_MORE_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 5)
57 #define XED_VERY_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 6)
60 # define XED_FUNCNAME __func__
62 # define XED_FUNCNAME ""
68 if (XED_EMIT_MESSAGES) { \
69 if (XED_VERY_VERBOSE) { \
70 fprintf(xed_log_file,"%s:%d:%s: ", \
71 __FILE__, __LINE__, XED_FUNCNAME); \
74 fflush(xed_log_file); \
81 if (XED_VERY_VERBOSE) { \
82 fprintf(xed_log_file,"%s:%d:%s: ", \
83 __FILE__, __LINE__, XED_FUNCNAME); \
86 fflush(xed_log_file); \
92 if (XED_VERY_VERBOSE) { \
93 fprintf(xed_log_file,"%s:%d:%s: ", \
94 __FILE__, __LINE__, XED_FUNCNAME); \
96 fflush(xed_log_file); \
102 if (XED_EMIT_MESSAGES) { \
103 fprintf(xed_log_file,"%s:%d:%s: ", \
104 __FILE__, __LINE__, XED_FUNCNAME); \
106 fflush(xed_log_file); \
117 # define XED2DIE(x) do { xed_assert(0); } while(0)
120 #if defined(XED_ASSERTS)
121 # define xed_assert(x) do { if (( x )== 0) xed_internal_assert( #x, __FILE__, __LINE__); } while(0)
123 # define xed_assert(x) do { } while(0)
232 #if defined(XED_LITTLE_ENDIAN_SWAPPING)
234 xed_little_endian_to_int32(xed_uint64_t x,
unsigned int len);
237 xed_little_endian_to_int64(xed_uint64_t x,
unsigned int len);
239 xed_little_endian_to_uint64(xed_uint64_t x,
unsigned int len);
242 xed_little_endian_hilo_to_int64(xed_uint32_t hi_le, xed_uint32_t lo_le,
unsigned int len);
244 xed_little_endian_hilo_to_uint64(xed_uint32_t hi_le, xed_uint32_t lo_le,
unsigned int len);
248 xed_get_byte(xed_uint64_t x,
unsigned int i,
unsigned int len);
int xed_sprintf_uint32_hex(char *buf, xed_uint32_t x, int buflen)
int xed_sprintf_int64(char *buf, xed_int64_t x, int buflen)
int xed_strncat_lower(char *dst, const char *src, int len)
char xed_to_ascii_hex_nibble(xed_uint_t x)
XED_DLL_EXPORT int xed_itoa_hex(char *buf, xed_uint64_t f, xed_uint_t xed_bits_to_print, int buflen)
XED_DLL_EXPORT xed_uint16_t xed_zero_extend8_16(xed_uint8_t x)
void xed_derror(const char *s)
XED_DLL_EXPORT xed_uint32_t xed_zero_extend16_32(xed_uint16_t x)
XED_DLL_EXPORT xed_int32_t xed_sign_extend8_32(xed_int8_t x)
XED_DLL_EXPORT xed_uint64_t xed_zero_extend16_64(xed_uint16_t x)
XED_DLL_EXPORT xed_uint64_t xed_zero_extend32_64(xed_uint32_t x)
struct xed_union64_t::@12 s
void(* xed_user_abort_function_t)(const char *msg, const char *file, int line, void *other)
static XED_INLINE xed_int64_t xed_make_int64(xed_uint32_t hi, xed_uint32_t lo)
int xed_itoa_hex_zeros(char *buf, xed_uint64_t f, xed_uint_t xed_bits_to_print, xed_bool_t leading_zeros, int buflen)
int xed_sprintf_int8(char *buf, xed_int8_t x, int buflen)
XED_DLL_EXPORT xed_uint32_t xed_zero_extend8_32(xed_uint8_t x)
int xed_sprintf_uint8(char *buf, xed_uint8_t x, int buflen)
XED_DLL_EXPORT xed_uint_t xed_shortest_width_unsigned(xed_uint64_t x, xed_uint8_t legal_widths)
returns the number of bytes required to store the UNSIGNED number x given a mask of legal lengths...
XED_DLL_EXPORT xed_int32_t xed_sign_extend16_32(xed_int16_t x)
XED_DLL_EXPORT void xed_set_log_file(void *o)
Set the FILE* for XED's log msgs.
int xed_sprintf_uint64_hex(char *buf, xed_uint64_t x, int buflen)
int xed_sprintf_uint16(char *buf, xed_uint16_t x, int buflen)
int xed_sprintf_uint64(char *buf, xed_uint64_t x, int buflen)
int xed_sprintf_uint32(char *buf, xed_uint32_t x, int buflen)
char * xed_downcase_buf(char *s)
XED_NORETURN XED_NOINLINE XED_DLL_EXPORT void xed_internal_assert(const char *s, const char *file, int line)
XED_DLL_EXPORT int xed_itoa(char *buf, xed_uint64_t f, int buflen)
XED_DLL_EXPORT xed_uint64_t xed_zero_extend8_64(xed_uint8_t x)
int xed_itoa_signed(char *buf, xed_int64_t f, int buflen)
int xed_sprintf_int16(char *buf, xed_int16_t x, int buflen)
int xed_sprintf_uint16_hex(char *buf, xed_uint16_t x, int buflen)
XED_DLL_EXPORT xed_int64_t xed_sign_extend16_64(xed_int16_t x)
XED_DLL_EXPORT xed_int64_t xed_sign_extend_arbitrary_to_64(xed_uint64_t x, unsigned int bits)
arbitrary sign extension from a qty of "bits" length to 64b
XED_DLL_EXPORT xed_int16_t xed_sign_extend8_16(xed_int8_t x)
XED_DLL_EXPORT xed_int32_t xed_sign_extend_arbitrary_to_32(xed_uint32_t x, unsigned int bits)
arbitrary sign extension from a qty of "bits" length to 32b
XED_DLL_EXPORT xed_uint8_t xed_get_byte(xed_uint64_t x, unsigned int i, unsigned int len)
static XED_INLINE xed_uint64_t xed_make_uint64(xed_uint32_t hi, xed_uint32_t lo)
XED_DLL_EXPORT xed_int64_t xed_sign_extend8_64(xed_int8_t x)
int xed_sprintf_int32(char *buf, xed_int32_t x, int buflen)
void xed_dwarn(const char *s)
XED_DLL_EXPORT void xed_set_verbosity(int v)
Set the verbosity level for XED.
XED_DLL_EXPORT xed_int64_t xed_sign_extend32_64(xed_int32_t x)
int xed_sprintf_uint8_hex(char *buf, xed_uint8_t x, int buflen)
XED_DLL_EXPORT void xed_register_abort_function(xed_user_abort_function_t fn, void *other)
This is for registering a function to be called during XED's assert processing.
XED_DLL_EXPORT xed_uint_t xed_shortest_width_signed(xed_int64_t x, xed_uint8_t legal_widths)
returns the number of bytes required to store the SIGNED number x given a mask of legal lengths...