xed-util.h File Reference


Detailed Description

Author:
Mark Charney <mark.charney@intel.com>

Definition in file xed-util.h.

#include "xed-common-hdrs.h"
#include "xed-types.h"
#include "xed-portability.h"
#include <stdio.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)

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)
int xed_itoa (char *buf, xed_uint64_t f, int buflen)
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)
XED_DLL_EXPORT xed_int64_t xed_little_endian_hilo_to_int64 (xed_uint32_t hi_le, xed_uint32_t lo_le, unsigned int len)
XED_DLL_EXPORT xed_uint64_t xed_little_endian_hilo_to_uint64 (xed_uint32_t hi_le, xed_uint32_t lo_le, unsigned int len)
XED_DLL_EXPORT xed_int32_t xed_little_endian_to_int32 (xed_uint64_t x, unsigned int len)
XED_DLL_EXPORT xed_int64_t xed_little_endian_to_int64 (xed_uint64_t x, unsigned int len)
XED_DLL_EXPORT xed_uint64_t xed_little_endian_to_uint64 (xed_uint64_t x, unsigned int len)
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 (void(*fn)(const char *msg, const char *file, int line, void *other), void *other)
 This is for registering a function to be called during XED's assert processing.
XED_DLL_EXPORT void xed_set_log_file (FILE *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)
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

FILE * xed_log_file
int xed_verbose


Define Documentation

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

Definition at line 119 of file xed-util.h.

#define XED2IMSG  ) 
 

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

#define XED2TMSG  ) 
 

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

#define XED2VMSG  ) 
 

Definition at line 118 of file xed-util.h.

#define xed_assert  )     do { } while(0)
 

Definition at line 125 of file xed-util.h.

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

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

#define XED_FUNCNAME   ""
 

Definition at line 64 of file xed-util.h.

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

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

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

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

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

Definition at line 58 of file xed-util.h.

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

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

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

Definition at line 59 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
 

int xed_itoa char *  buf,
xed_uint64_t  f,
int  buflen
 

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
 

XED_DLL_EXPORT xed_int64_t xed_little_endian_hilo_to_int64 xed_uint32_t  hi_le,
xed_uint32_t  lo_le,
unsigned int  len
 

XED_DLL_EXPORT xed_uint64_t xed_little_endian_hilo_to_uint64 xed_uint32_t  hi_le,
xed_uint32_t  lo_le,
unsigned int  len
 

XED_DLL_EXPORT xed_int32_t xed_little_endian_to_int32 xed_uint64_t  x,
unsigned int  len
 

XED_DLL_EXPORT xed_int64_t xed_little_endian_to_int64 xed_uint64_t  x,
unsigned int  len
 

XED_DLL_EXPORT xed_uint64_t xed_little_endian_to_uint64 xed_uint64_t  x,
unsigned int  len
 

static XED_INLINE xed_int64_t xed_make_int64 xed_uint32_t  hi,
xed_uint32_t  lo
[static]
 

Definition at line 236 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 230 of file xed-util.h.

XED_DLL_EXPORT void xed_set_log_file FILE *  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.

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
 

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

FILE* xed_log_file
 

int xed_verbose
 


Generated on Thu May 15 03:15:09 2008 for XED2 by  doxygen 1.4.6