Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Release 1.0
[palacios.git] / misc / decoder_test / XED2 / doc / html / group__PRINT.html
diff --git a/misc/decoder_test/XED2/doc/html/group__PRINT.html b/misc/decoder_test/XED2/doc/html/group__PRINT.html
new file mode 100644 (file)
index 0000000..bbe62df
--- /dev/null
@@ -0,0 +1,587 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>XED2: XED2 User Guide - Thu May 15 03:15:09 2008 </title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<div class="tabs">
+  <ul>
+    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li>
+      <form action="search.php" method="get">
+        <table cellspacing="0" cellpadding="0" border="0">
+          <tr>
+            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
+            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
+          </tr>
+        </table>
+      </form>
+    </li>
+  </ul></div>
+<h1>Printing (disassembling) Instructions</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+There are two kinds of printers. The legacy printers to not take a void* context parameter. The other printers take a void* context parameter that is only passed to a callback function registered by calling <a class="el" href="group__PRINT.html#gd6a3477c164874ca5ac8654b6563082d">xed_register_disassembly_callback()</a>. The callback is used for symbolic disassembly. 
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Legacy printers without context parameter</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#g5a8149ea49b19f4967d20435f470b0f2">xed_format</a> (<a class="el" href="xed-syntax-enum_8h.html#226c37dc9f1af9e61dad79dc5f65bc9f">xed_syntax_enum_t</a> syntax, <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *xedd, char *out_buffer, int buffer_len, xed_uint64_t runtime_instruction_address)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disassemble the decoded instruction using the specified syntax.  <a href="#g5a8149ea49b19f4967d20435f470b0f2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#gd8d360fbecb021a4fc0c9d865e0b326d">xed_format_att</a> (<a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disassemble the decoded instruction using the ATT SYSV syntax.  <a href="#gd8d360fbecb021a4fc0c9d865e0b326d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#gf8b71dad59c2cf235d339c612f66c4a4">xed_format_intel</a> (<a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disassemble the decoded instruction using the Intel syntax.  <a href="#gf8b71dad59c2cf235d339c612f66c4a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#g6d44153ee05618381828ff69e0c84b08">xed_format_xed</a> (<a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disassemble the decoded instruction using the XED syntax providing all operand resources (implicit, explicit, suppressed).  <a href="#g6d44153ee05618381828ff69e0c84b08"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Printers with context parameter</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#gba00a6705b2c7c636d5f693eee83817f">xed_format_att_context</a> (<a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address, void *context)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disassemble the decoded instruction using the ATT SYSV syntax.  <a href="#gba00a6705b2c7c636d5f693eee83817f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#g55c8f699f25fdd6ee842593bd4c3ea7f">xed_format_context</a> (<a class="el" href="xed-syntax-enum_8h.html#226c37dc9f1af9e61dad79dc5f65bc9f">xed_syntax_enum_t</a> syntax, <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *xedd, char *out_buffer, int buffer_len, xed_uint64_t runtime_instruction_address, void *context)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disassemble the decoded instruction using the specified syntax.  <a href="#g55c8f699f25fdd6ee842593bd4c3ea7f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#gbc13aaaa26429bcb390fd2c776102206">xed_format_intel_context</a> (<a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address, void *context)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disassemble the decoded instruction using the Intel syntax.  <a href="#gbc13aaaa26429bcb390fd2c776102206"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int XED_DLL_EXPORT(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#g58ce98693231e7865ff3525b816fe7f3">xed_disassembly_callback_fn_t</a> )(xed_uint64_t address, char *symbol_buffer, xed_uint32_t buffer_length, xed_uint64_t *offset, void *context)</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PRINT.html#gd6a3477c164874ca5ac8654b6563082d">xed_register_disassembly_callback</a> (<a class="el" href="group__PRINT.html#g58ce98693231e7865ff3525b816fe7f3">xed_disassembly_callback_fn_t</a> f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register a disassembly call back function of type <a class="el" href="group__PRINT.html#g58ce98693231e7865ff3525b816fe7f3">xed_disassembly_callback_fn_t</a> to get called when the disassembler needs to get a symbol and offset for an address.  <a href="#gd6a3477c164874ca5ac8654b6563082d"></a><br></td></tr>
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="g58ce98693231e7865ff3525b816fe7f3"></a><!-- doxytag: member="xed-disas.h::xed_disassembly_callback_fn_t" ref="g58ce98693231e7865ff3525b816fe7f3" args=")(xed_uint64_t address, char *symbol_buffer, xed_uint32_t buffer_length, xed_uint64_t *offset, void *context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">typedef int XED_DLL_EXPORT(* <a class="el" href="group__PRINT.html#g58ce98693231e7865ff3525b816fe7f3">xed_disassembly_callback_fn_t</a>)(xed_uint64_t address, char *symbol_buffer, xed_uint32_t buffer_length, xed_uint64_t *offset, void *context)          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>address</em>&nbsp;</td><td>The input address for which we want symbolic name and offset </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>symbol_buffer</em>&nbsp;</td><td>A buffer to hold the symbol name. The callback function should fill this in and terminate with a null byte. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buffer_length</em>&nbsp;</td><td>The maximum length of the symbol_buffer including then null </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>A pointer to a xed_uint64_t to old the offset from the provided symbol. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>This void* pointer passed to the disassembler's new interface so that the caller can identify the proper context against which to resolve the symbols. The disassembler passes this value to the callback. The legacy formatters that do not have context will pass zero for this parameter. </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>0 on failure, 1 on success. </dd></dl>
+
+<p>
+Definition at line <a class="el" href="xed-disas_8h-source.html#l00060">60</a> of file <a class="el" href="xed-disas_8h-source.html">xed-disas.h</a>.    </td>
+  </tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g5a8149ea49b19f4967d20435f470b0f2"></a><!-- doxytag: member="xed-inst-printer.h::xed_format" ref="g5a8149ea49b19f4967d20435f470b0f2" args="(xed_syntax_enum_t syntax, xed_decoded_inst_t *xedd, char *out_buffer, int buffer_len, xed_uint64_t runtime_instruction_address)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_format           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="xed-syntax-enum_8h.html#226c37dc9f1af9e61dad79dc5f65bc9f">xed_syntax_enum_t</a>&nbsp;</td>
+          <td class="mdname" nowrap> <em>syntax</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>xedd</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>out_buffer</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>int&nbsp;</td>
+          <td class="mdname" nowrap> <em>buffer_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint64_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>runtime_instruction_address</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Disassemble the decoded instruction using the specified syntax. 
+<p>
+The output buffer must be at least 25 bytes long. Returns true if disassembly proceeded without errors. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>syntax</em>&nbsp;</td><td>a <a class="el" href="xed-syntax-enum_8h.html#226c37dc9f1af9e61dad79dc5f65bc9f">xed_syntax_enum_t</a> the specifies the disassembly format </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>xedd</em>&nbsp;</td><td>a <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> for a decoded instruction </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>out_buffer</em>&nbsp;</td><td>a buffer to write the disassembly in to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buffer_len</em>&nbsp;</td><td>maximum length of the disassembly buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>runtime_instruction_address</em>&nbsp;</td><td>the address of the instruction being disassembled </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Returns 0 if the disassembly fails, 1 otherwise. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="gd8d360fbecb021a4fc0c9d865e0b326d"></a><!-- doxytag: member="xed-inst-printer.h::xed_format_att" ref="gd8d360fbecb021a4fc0c9d865e0b326d" args="(xed_decoded_inst_t *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_format_att           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>xedd</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>out_buffer</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint32_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>buffer_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint64_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>runtime_instruction_address</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Disassemble the decoded instruction using the ATT SYSV syntax. 
+<p>
+The output buffer must be at least 16 bytes long. Returns true if disassembly proceeded without errors. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>xedd</em>&nbsp;</td><td>a <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> for a decoded instruction </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>out_buffer</em>&nbsp;</td><td>a buffer to write the disassembly in to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buffer_len</em>&nbsp;</td><td>maximum length of the disassembly buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>runtime_instruction_address</em>&nbsp;</td><td>the address of the instruction being disassembled </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Returns 0 if the disassembly fails, 1 otherwise. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="gba00a6705b2c7c636d5f693eee83817f"></a><!-- doxytag: member="xed-inst-printer.h::xed_format_att_context" ref="gba00a6705b2c7c636d5f693eee83817f" args="(xed_decoded_inst_t *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address, void *context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_format_att_context           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>xedd</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>out_buffer</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint32_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>buffer_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint64_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>runtime_instruction_address</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>context</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Disassemble the decoded instruction using the ATT SYSV syntax. 
+<p>
+The output buffer must be at least 16 bytes long. Returns true if disassembly proceeded without errors. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>xedd</em>&nbsp;</td><td>a <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> for a decoded instruction </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>out_buffer</em>&nbsp;</td><td>a buffer to write the disassembly in to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buffer_len</em>&nbsp;</td><td>maximum length of the disassembly buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>runtime_instruction_address</em>&nbsp;</td><td>the address of the instruction being disassembled </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A void* used only for the call back routine for symbolic disassembly if one is registered. </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Returns 0 if the disassembly fails, 1 otherwise. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="g55c8f699f25fdd6ee842593bd4c3ea7f"></a><!-- doxytag: member="xed-inst-printer.h::xed_format_context" ref="g55c8f699f25fdd6ee842593bd4c3ea7f" args="(xed_syntax_enum_t syntax, xed_decoded_inst_t *xedd, char *out_buffer, int buffer_len, xed_uint64_t runtime_instruction_address, void *context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_format_context           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="xed-syntax-enum_8h.html#226c37dc9f1af9e61dad79dc5f65bc9f">xed_syntax_enum_t</a>&nbsp;</td>
+          <td class="mdname" nowrap> <em>syntax</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>xedd</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>out_buffer</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>int&nbsp;</td>
+          <td class="mdname" nowrap> <em>buffer_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint64_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>runtime_instruction_address</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>context</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Disassemble the decoded instruction using the specified syntax. 
+<p>
+The output buffer must be at least 25 bytes long. Returns true if disassembly proceeded without errors. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>syntax</em>&nbsp;</td><td>a <a class="el" href="xed-syntax-enum_8h.html#226c37dc9f1af9e61dad79dc5f65bc9f">xed_syntax_enum_t</a> the specifies the disassembly format </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>xedd</em>&nbsp;</td><td>a <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> for a decoded instruction </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>out_buffer</em>&nbsp;</td><td>a buffer to write the disassembly in to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buffer_len</em>&nbsp;</td><td>maximum length of the disassembly buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>runtime_instruction_address</em>&nbsp;</td><td>the address of the instruction being disassembled </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A void* used only for the call back routine for symbolic disassembly if one is registered. </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Returns 0 if the disassembly fails, 1 otherwise. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="gf8b71dad59c2cf235d339c612f66c4a4"></a><!-- doxytag: member="xed-inst-printer.h::xed_format_intel" ref="gf8b71dad59c2cf235d339c612f66c4a4" args="(xed_decoded_inst_t *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_format_intel           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>xedd</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>out_buffer</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint32_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>buffer_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint64_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>runtime_instruction_address</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Disassemble the decoded instruction using the Intel syntax. 
+<p>
+The output buffer must be at least 16 bytes long. Returns true if disassembly proceeded without errors. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>xedd</em>&nbsp;</td><td>a <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> for a decoded instruction </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>out_buffer</em>&nbsp;</td><td>a buffer to write the disassembly in to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buffer_len</em>&nbsp;</td><td>maximum length of the disassembly buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>runtime_instruction_address</em>&nbsp;</td><td>the address of the instruction being disassembled </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Returns 0 if the disassembly fails, 1 otherwise. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="gbc13aaaa26429bcb390fd2c776102206"></a><!-- doxytag: member="xed-inst-printer.h::xed_format_intel_context" ref="gbc13aaaa26429bcb390fd2c776102206" args="(xed_decoded_inst_t *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address, void *context)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_format_intel_context           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>xedd</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>out_buffer</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint32_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>buffer_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint64_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>runtime_instruction_address</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>context</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Disassemble the decoded instruction using the Intel syntax. 
+<p>
+The output buffer must be at least 16 bytes long. Returns true if disassembly proceeded without errors. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>xedd</em>&nbsp;</td><td>a <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> for a decoded instruction </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>out_buffer</em>&nbsp;</td><td>a buffer to write the disassembly in to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buffer_len</em>&nbsp;</td><td>maximum length of the disassembly buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>runtime_instruction_address</em>&nbsp;</td><td>the address of the instruction being disassembled </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A void* used only for the call back routine for symbolic disassembly if one is registered. </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Returns 0 if the disassembly fails, 1 otherwise. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="g6d44153ee05618381828ff69e0c84b08"></a><!-- doxytag: member="xed-inst-printer.h::xed_format_xed" ref="g6d44153ee05618381828ff69e0c84b08" args="(xed_decoded_inst_t *xedd, char *out_buffer, xed_uint32_t buffer_len, xed_uint64_t runtime_instruction_address)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_format_xed           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> *&nbsp;</td>
+          <td class="mdname" nowrap> <em>xedd</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>out_buffer</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint32_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>buffer_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>xed_uint64_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>runtime_instruction_address</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Disassemble the decoded instruction using the XED syntax providing all operand resources (implicit, explicit, suppressed). 
+<p>
+The output buffer must be at least 25 bytes long. Returns true if disassembly proceeded without errors. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>xedd</em>&nbsp;</td><td>a <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> for a decoded instruction </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>out_buffer</em>&nbsp;</td><td>a buffer to write the disassembly in to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buffer_len</em>&nbsp;</td><td>maximum length of the disassembly buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>runtime_instruction_address</em>&nbsp;</td><td>the address of the instruction being disassembled </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Returns 0 if the disassembly fails, 1 otherwise. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="gd6a3477c164874ca5ac8654b6563082d"></a><!-- doxytag: member="xed-disas.h::xed_register_disassembly_callback" ref="gd6a3477c164874ca5ac8654b6563082d" args="(xed_disassembly_callback_fn_t f)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">XED_DLL_EXPORT void xed_register_disassembly_callback           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="group__PRINT.html#g58ce98693231e7865ff3525b816fe7f3">xed_disassembly_callback_fn_t</a>&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>f</em>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Register a disassembly call back function of type <a class="el" href="group__PRINT.html#g58ce98693231e7865ff3525b816fe7f3">xed_disassembly_callback_fn_t</a> to get called when the disassembler needs to get a symbol and offset for an address. 
+<p>
+    </td>
+  </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu May 15 03:15:09 2008 for XED2 by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>