- Main Page
- Modules
- Data Structures
- Files

- Search for |

- File List
- Globals

# xed-util.h File Reference

`#include "xed-common-hdrs.h"`
`#include "xed-types.h"`
`#include "xed-portability.h"`

Go to the source code of this file.

## Defines

#define | XED2DIE(x) do { xed_assert(0); } while(0)
#define | XED2IMSG(x)
#define | XED2TMSG(x)
#define | XED2VMSG(x)
#define | xed_assert(x) do { } while(0)
#define | XED_EMIT_MESSAGES (XED_MESSAGES==1 && xed_verbose >= 1)
#define | XED_FUNCNAME ""
#define | XED_INFO2_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 3)
#define | XED_INFO_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 2)
#define | XED_MORE_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 5)
#define | XED_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 4)
#define | XED_VERY_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 6)

## Typedefs

typedef void(* | xed_user_abort_function_t )(const char *msg, const char *file, int line, void *other)

## Functions

void | xed_derror (const char *s)
char * | xed_downcase_buf (char *s)
void | xed_dwarn (const char *s)
XED_DLL_EXPORT xed_uint8_t | xed_get_byte (xed_uint64_t x, unsigned int i, unsigned int len)
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 int | xed_itoa_hex (char *buf, xed_uint64_t f, xed_uint_t xed_bits_to_print, int buflen)
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_itoa_signed (char *buf, xed_int64_t f, int buflen)
static XED_INLINE xed_int64_t | xed_make_int64 (xed_uint32_t hi, xed_uint32_t lo)
static XED_INLINE xed_uint64_t | xed_make_uint64 (xed_uint32_t hi, xed_uint32_t lo)
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 void | xed_set_log_file (void *o)
| Set the FILE* for XED's log msgs.
XED_DLL_EXPORT void | xed_set_verbosity (int v)
| Set the verbosity level for XED.
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.
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 xed_int64_t | xed_sign_extend16_64 (xed_int16_t x)
XED_DLL_EXPORT xed_int64_t | xed_sign_extend32_64 (xed_int32_t x)
XED_DLL_EXPORT xed_int16_t | xed_sign_extend8_16 (xed_int8_t x)
XED_DLL_EXPORT xed_int32_t | xed_sign_extend8_32 (xed_int8_t x)
XED_DLL_EXPORT xed_int64_t | xed_sign_extend8_64 (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_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
int | xed_sprintf_int16 (char *buf, xed_int16_t x, int buflen)
int | xed_sprintf_int32 (char *buf, xed_int32_t x, int buflen)
int | xed_sprintf_int64 (char *buf, xed_int64_t x, int buflen)
int | xed_sprintf_int8 (char *buf, xed_int8_t x, int buflen)
int | xed_sprintf_uint16 (char *buf, xed_uint16_t x, int buflen)
int | xed_sprintf_uint16_hex (char *buf, xed_uint16_t x, int buflen)
int | xed_sprintf_uint32 (char *buf, xed_uint32_t x, int buflen)
int | xed_sprintf_uint32_hex (char *buf, xed_uint32_t x, int buflen)
int | xed_sprintf_uint64 (char *buf, xed_uint64_t x, int buflen)
int | xed_sprintf_uint64_hex (char *buf, xed_uint64_t x, int buflen)
int | xed_sprintf_uint8 (char *buf, xed_uint8_t x, int buflen)
int | xed_sprintf_uint8_hex (char *buf, xed_uint8_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 xed_uint32_t | xed_zero_extend16_32 (xed_uint16_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)
XED_DLL_EXPORT xed_uint16_t | xed_zero_extend8_16 (xed_uint8_t x)
XED_DLL_EXPORT xed_uint32_t | xed_zero_extend8_32 (xed_uint8_t x)
XED_DLL_EXPORT xed_uint64_t | xed_zero_extend8_64 (xed_uint8_t x)

## Variables

int | xed_verbose

## Detailed Description

Definition in file xed-util.h.

## Define Documentation

#define XED2DIE | ( | x |  | ) | do { xed_assert(0); } while(0)

| Definition at line 117 of file xed-util.h.

#define XED2IMSG | ( | x |  | ) |

| Definition at line 114 of file xed-util.h.

#define XED2TMSG | ( | x |  | ) |

| Definition at line 115 of file xed-util.h.

#define XED2VMSG | ( | x |  | ) |

| Definition at line 116 of file xed-util.h.

#define xed_assert | ( | x |  | ) | do { } while(0)

| Definition at line 123 of file xed-util.h.

#define XED_EMIT_MESSAGES (XED_MESSAGES==1 && xed_verbose >= 1)

| Definition at line 52 of file xed-util.h.

#define XED_FUNCNAME ""

| Definition at line 62 of file xed-util.h.

#define XED_INFO2_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 3)

| Definition at line 54 of file xed-util.h.

#define XED_INFO_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 2)

| Definition at line 53 of file xed-util.h.

#define XED_MORE_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 5)

| Definition at line 56 of file xed-util.h.

#define XED_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 4)

| Definition at line 55 of file xed-util.h.

#define XED_VERY_VERBOSE (XED_MESSAGES==1 && xed_verbose >= 6)

| Definition at line 57 of file xed-util.h.

## Typedef Documentation

typedef void(* xed_user_abort_function_t)(const char *msg, const char *file, int line, void *other)

| Definition at line 127 of file xed-util.h.

## Function Documentation

void xed_derror | ( | const char * | s | ) |

char* xed_downcase_buf | ( | char * | s | ) |

void xed_dwarn | ( | const char * | s | ) |

XED_DLL_EXPORT xed_uint8_t xed_get_byte | ( | xed_uint64_t | x,
|  | unsigned int | i,
|  | unsigned int | len
| ) |

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 int xed_itoa_hex | ( | char * | buf,
|  | xed_uint64_t | f,
|  | xed_uint_t | xed_bits_to_print,
|  | int | buflen
| ) |

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_itoa_signed | ( | char * | buf,
|  | xed_int64_t | f,
|  | int | buflen
| ) |

static XED_INLINE xed_int64_t xed_make_int64 | ( | xed_uint32_t | hi,
|  | xed_uint32_t | lo
| ) | `[static]`

| Definition at line 256 of file xed-util.h.

static XED_INLINE xed_uint64_t xed_make_uint64 | ( | xed_uint32_t | hi,
|  | xed_uint32_t | lo
| ) | `[static]`

| Definition at line 250 of file xed-util.h.

XED_DLL_EXPORT void xed_set_log_file | ( | void * | o | ) |

| Set the FILE* for XED's log msgs. This takes a FILE* as a void* because some software defines their own FILE* types creating conflicts.

XED_DLL_EXPORT void xed_set_verbosity | ( | int | v | ) |

| Set the verbosity level for XED.

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. For the legal_widths argument, bit 0 implies 1 byte is a legal return width, bit 1 implies that 2 bytes is a legal return width, bit 2 implies that 4 bytes is a legal return width. This returns 8 (indicating 8B) if none of the provided legal widths applies.

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. For the legal_widths argument, bit 0 implies 1 byte is a legal return width, bit 1 implies that 2 bytes is a legal return width, bit 2 implies that 4 bytes is a legal return width. This returns 8 (indicating 8B) if none of the provided legal widths applies.

XED_DLL_EXPORT xed_int32_t xed_sign_extend16_32 | ( | xed_int16_t | x | ) |

XED_DLL_EXPORT xed_int64_t xed_sign_extend16_64 | ( | xed_int16_t | x | ) |

XED_DLL_EXPORT xed_int64_t xed_sign_extend32_64 | ( | xed_int32_t | x | ) |

XED_DLL_EXPORT xed_int16_t xed_sign_extend8_16 | ( | xed_int8_t | x | ) |

XED_DLL_EXPORT xed_int32_t xed_sign_extend8_32 | ( | xed_int8_t | x | ) |

XED_DLL_EXPORT xed_int64_t xed_sign_extend8_64 | ( | 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_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

int xed_sprintf_int16 | ( | char * | buf,
|  | xed_int16_t | x,
|  | int | buflen
| ) |

int xed_sprintf_int32 | ( | char * | buf,
|  | xed_int32_t | x,
|  | int | buflen
| ) |

int xed_sprintf_int64 | ( | char * | buf,
|  | xed_int64_t | x,
|  | int | buflen
| ) |

int xed_sprintf_int8 | ( | char * | buf,
|  | xed_int8_t | x,
|  | int | buflen
| ) |

int xed_sprintf_uint16 | ( | char * | buf,
|  | xed_uint16_t | x,
|  | int | buflen
| ) |

int xed_sprintf_uint16_hex | ( | char * | buf,
|  | xed_uint16_t | x,
|  | int | buflen
| ) |

int xed_sprintf_uint32 | ( | char * | buf,
|  | xed_uint32_t | x,
|  | int | buflen
| ) |

int xed_sprintf_uint32_hex | ( | char * | buf,
|  | xed_uint32_t | x,
|  | int | buflen
| ) |

int xed_sprintf_uint64 | ( | char * | buf,
|  | xed_uint64_t | x,
|  | int | buflen
| ) |

int xed_sprintf_uint64_hex | ( | char * | buf,
|  | xed_uint64_t | x,
|  | int | buflen
| ) |

int xed_sprintf_uint8 | ( | char * | buf,
|  | xed_uint8_t | x,
|  | int | buflen
| ) |

int xed_sprintf_uint8_hex | ( | char * | buf,
|  | xed_uint8_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 xed_uint32_t xed_zero_extend16_32 | ( | xed_uint16_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 | ) |

XED_DLL_EXPORT xed_uint16_t xed_zero_extend8_16 | ( | xed_uint8_t | x | ) |

XED_DLL_EXPORT xed_uint32_t xed_zero_extend8_32 | ( | xed_uint8_t | x | ) |

XED_DLL_EXPORT xed_uint64_t xed_zero_extend8_64 | ( | xed_uint8_t | x | ) |

## Variable Documentation

int xed_verbose