X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=misc%2Fdecoder_test%2FXED2%2Fdoc%2Fhtml%2Fgroup__INIT.html;fp=misc%2Fdecoder_test%2FXED2%2Fdoc%2Fhtml%2Fgroup__INIT.html;h=7f1edc0ae6ca718ae6205cf6777e1335a6ccf3fd;hp=0000000000000000000000000000000000000000;hb=ddc16b0737cf58f7aa90a69c6652cdf4090aec51;hpb=626595465a2c6987606a6bc697df65130ad8c2d3 diff --git a/misc/decoder_test/XED2/doc/html/group__INIT.html b/misc/decoder_test/XED2/doc/html/group__INIT.html new file mode 100644 index 0000000..7f1edc0 --- /dev/null +++ b/misc/decoder_test/XED2/doc/html/group__INIT.html @@ -0,0 +1,741 @@ + + +XED2: XED2 User Guide - Thu May 15 03:15:09 2008 + + + + +
+
+

XED initialization


Detailed Description

+This section describes the base class used for initializing the encoder / decoder requests and the XED library initialization function.

+All XED functions reside in the XED namespace. To use XED, you must include "xed-interface.h" and then use the name space:

+

    #include "xed-interface.h"
+

+If you are calling XED2 from C++, you must wrap this include:

+

    extern "C" {
+    #include "xed-interface.h"
+    }
+
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Data Structures

struct  xed_state_s
 Encapsulates machine modes for decoder/encoder requests. More...

Address width

static XED_INLINE xed_address_width_enum_t xed_state_get_address_width (const xed_state_t *p)
 return the address width
static XED_INLINE void xed_state_set_address_width (xed_state_t *p, xed_address_width_enum_t arg_addr_width)
 Set the address width.

Machine mode

static XED_INLINE xed_machine_mode_enum_t xed_state_get_machine_mode (const xed_state_t *p)
 return the machine mode
static XED_INLINE xed_bool_t xed_state_long64_mode (const xed_state_t *p)
 true iff the machine is in LONG_64 mode
static XED_INLINE xed_bool_t xed_state_mode_width_16 (const xed_state_t *p)
static XED_INLINE xed_bool_t xed_state_mode_width_32 (const xed_state_t *p)
static XED_INLINE void xed_state_set_machine_mode (xed_state_t *p, xed_machine_mode_enum_t arg_mode)
 Set the machine mode.

Stack address width

static XED_INLINE xed_address_width_enum_t xed_state_get_stack_address_width (const xed_state_t *p)
 Return the STACK address width.
static XED_INLINE void xed_state_set_stack_address_width (xed_state_t *p, xed_address_width_enum_t arg_addr_width)
 set the STACK address width

Initialization

static XED_INLINE void xed_state_init (xed_state_t *p, xed_machine_mode_enum_t arg_mmode, xed_address_width_enum_t arg_addr_width, xed_address_width_enum_t arg_stack_addr_width)
 Constructor.
static XED_INLINE void xed_state_zero (xed_state_t *p)
 clear the xed_state_t

Typedefs

typedef XED_DLL_EXPORT xed_state_s xed_state_t
 Encapsulates machine modes for decoder/encoder requests.

Functions

void XED_DLL_EXPORT xed_decode_init ()
 This is the call to initialize the XED decode tables.
void XED_DLL_EXPORT xed_encode_init ()
 This is the call to initialize the XED encode tables.
XED_DLL_EXPORT char * xed_get_version ()
 Returns a string representing XED svn commit revision and time stamp.
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 int xed_state_print (const xed_state_t *p, char *buf, int buflen)
void XED_DLL_EXPORT xed_tables_init ()
 This is the call to initialize the XED encode and decode tables.
+


Typedef Documentation

+

+ + + + +
+ + + + +
typedef struct XED_DLL_EXPORT xed_state_s xed_state_t
+
+ + + + + +
+   + + +

+Encapsulates machine modes for decoder/encoder requests. +

+It specifies the machine operating mode as a xed_machine_mode_enum_t for decoding and encoding. For all modes other than the 64b long mode (XED_MACHINE_MODE_LONG_64), a default addressing width, and a stack addressing width must be supplied of type xed_address_width_enum_t .

+


Function Documentation

+

+ + + + +
+ + + + + + + + +
void XED_DLL_EXPORT xed_decode_init  ) 
+
+ + + + + +
+   + + +

+This is the call to initialize the XED decode tables. +

+It must be called once before using XED.

+

+ + + + +
+ + + + + + + + +
void XED_DLL_EXPORT xed_encode_init  ) 
+
+ + + + + +
+   + + +

+This is the call to initialize the XED encode tables. +

+It must be called once before using XED's encoder.

+

+ + + + +
+ + + + + + + + +
XED_DLL_EXPORT char* xed_get_version  ) 
+
+ + + + + +
+   + + +

+Returns a string representing XED svn commit revision and time stamp. +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
XED_DLL_EXPORT void xed_register_abort_function void(*)(const char *msg, const char *file, int line, void *other)  fn,
void *  other
+
+ + + + + +
+   + + +

+This is for registering a function to be called during XED's assert processing. +

+If you do not register an abort function, then the system's abort function will be called. If your supplied function returns, then abort() will still be called.

+

Parameters:
+ + + +
fn This is a function pointer for a function that should handle the assertion reporting. The function pointer points to a function that takes 4 arguments: (1) msg, the assertion message, (2) file, the file name, (3) line, the line number (as an integer), and (4) other, a void pointer that is supplied as thei 2nd argument to this registration.
other This is a void* that is passed back to your supplied function fn as its 4th argument. It can be zero if you don't need this feature. You can used this to convey whatever additional context to your assertion handler (like FILE* pointers etc.).
+
+
+

+ + + + +
+ + + + + + + + + +
static XED_INLINE xed_address_width_enum_t xed_state_get_address_width const xed_state_t p  )  [static]
+
+ + + + + +
+   + + +

+return the address width +

+ +

+Definition at line 143 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + +
static XED_INLINE xed_machine_mode_enum_t xed_state_get_machine_mode const xed_state_t p  )  [static]
+
+ + + + + +
+   + + +

+return the machine mode +

+ +

+Definition at line 100 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + +
static XED_INLINE xed_address_width_enum_t xed_state_get_stack_address_width const xed_state_t p  )  [static]
+
+ + + + + +
+   + + +

+Return the STACK address width. +

+ +

+Definition at line 161 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static XED_INLINE void xed_state_init xed_state_t p,
xed_machine_mode_enum_t  arg_mmode,
xed_address_width_enum_t  arg_addr_width,
xed_address_width_enum_t  arg_stack_addr_width
[static]
+
+ + + + + +
+   + + +

+Constructor. +

+The mode, and addresses widths are enumerations that specify the number of bits. In 64b mode (XED_MACHINE_MODE_LONG_64) the address width and stack address widths are 64b (XED_ADDRESS_WIDTH_64b). In other machine modes, you must specify valid addressing widths.

+

Parameters:
+ + + + + +
p the pointer to the xed_state_t type
arg_mmode the machine mode of type xed_machine_mode_enum_t
arg_addr_width the address width of type xed_address_width_enum_t (only required if not the mode is not XED_MACHINE_MODE_LONG_64)
arg_stack_addr_width the stack address width of type xed_address_width_enum_t (only required if not the mode is not XED_MACHINE_MODE_LONG_64)
+
+ +

+Definition at line 77 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + +
static XED_INLINE xed_bool_t xed_state_long64_mode const xed_state_t p  )  [static]
+
+ + + + + +
+   + + +

+true iff the machine is in LONG_64 mode +

+ +

+Definition at line 107 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + +
static XED_INLINE xed_bool_t xed_state_mode_width_16 const xed_state_t p  )  [static]
+
+ + + + + +
+   + + +

+ +

+Definition at line 112 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + +
static XED_INLINE xed_bool_t xed_state_mode_width_32 const xed_state_t p  )  [static]
+
+ + + + + +
+   + + +

+ +

+Definition at line 118 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
XED_DLL_EXPORT int xed_state_print const xed_state_t p,
char *  buf,
int  buflen
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
static XED_INLINE void xed_state_set_address_width xed_state_t p,
xed_address_width_enum_t  arg_addr_width
[static]
+
+ + + + + +
+   + + +

+Set the address width. +

+ +

+Definition at line 136 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
static XED_INLINE void xed_state_set_machine_mode xed_state_t p,
xed_machine_mode_enum_t  arg_mode
[static]
+
+ + + + + +
+   + + +

+Set the machine mode. +

+ +

+Definition at line 126 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
static XED_INLINE void xed_state_set_stack_address_width xed_state_t p,
xed_address_width_enum_t  arg_addr_width
[static]
+
+ + + + + +
+   + + +

+set the STACK address width +

+ +

+Definition at line 153 of file xed-state.h.

+

+ + + + +
+ + + + + + + + + +
static XED_INLINE void xed_state_zero xed_state_t p  )  [static]
+
+ + + + + +
+   + + +

+clear the xed_state_t +

+ +

+Definition at line 88 of file xed-state.h.

+

+ + + + +
+ + + + + + + + +
void XED_DLL_EXPORT xed_tables_init  ) 
+
+ + + + + +
+   + + +

+This is the call to initialize the XED encode and decode tables. +

+It must be called once before using XED.

+


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