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__INIT.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>XED2: XED2 User Guide - Thu May 15 03:15:09 2008 </title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.4.6 -->
8 <div class="tabs">
9   <ul>
10     <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
11     <li><a href="modules.html"><span>Modules</span></a></li>
12     <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
13     <li><a href="files.html"><span>Files</span></a></li>
14     <li>
15       <form action="search.php" method="get">
16         <table cellspacing="0" cellpadding="0" border="0">
17           <tr>
18             <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
19             <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
20           </tr>
21         </table>
22       </form>
23     </li>
24   </ul></div>
25 <h1>XED initialization</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
26 This section describes the base class used for initializing the encoder / decoder requests and the XED library initialization function.<p>
27 All XED functions reside in the XED namespace. To use XED, you must include "xed-interface.h" and then use the name space:<p>
28 <div class="fragment"><pre class="fragment"><span class="preprocessor">    #include "<a class="code" href="xed-interface_8h.html">xed-interface.h</a>"</span>
29 </pre></div><p>
30 If you are calling XED2 from C++, you must wrap this include:<p>
31 <div class="fragment"><pre class="fragment">    <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
32 <span class="preprocessor">    #include "<a class="code" href="xed-interface_8h.html">xed-interface.h</a>"</span>
33     }
34 </pre></div> 
35 <p>
36 <table border="0" cellpadding="0" cellspacing="0">
37 <tr><td></td></tr>
38 <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
39 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxed__state__s.html">xed_state_s</a></td></tr>
40
41 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulates machine modes for decoder/encoder requests.  <a href="structxed__state__s.html#_details">More...</a><br></td></tr>
42 <tr><td colspan="2"><br><h2>Address width</h2></td></tr>
43 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#ga5df14c6b5a97bd9f9ee4c50ab790a85">xed_state_get_address_width</a> (const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p)</td></tr>
44
45 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the address width  <a href="#ga5df14c6b5a97bd9f9ee4c50ab790a85"></a><br></td></tr>
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g0bce6ad444edb7846803eff273be5669">xed_state_set_address_width</a> (<a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p, <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> arg_addr_width)</td></tr>
47
48 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the address width.  <a href="#g0bce6ad444edb7846803eff273be5669"></a><br></td></tr>
49 <tr><td colspan="2"><br><h2>Machine mode</h2></td></tr>
50 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g8b1fc00b95c50fd54959889d72dc569a">xed_state_get_machine_mode</a> (const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p)</td></tr>
51
52 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the machine mode  <a href="#g8b1fc00b95c50fd54959889d72dc569a"></a><br></td></tr>
53 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <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__INIT.html#g8d32c7696d58a4a4aa103de13f7de577">xed_state_long64_mode</a> (const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p)</td></tr>
54
55 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">true iff the machine is in LONG_64 mode  <a href="#g8d32c7696d58a4a4aa103de13f7de577"></a><br></td></tr>
56 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <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__INIT.html#g15a9c2418fa6909fc7eeebea045722e6">xed_state_mode_width_16</a> (const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p)</td></tr>
57
58 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <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__INIT.html#ga2f13457567fea6468967cde050eefdf">xed_state_mode_width_32</a> (const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p)</td></tr>
59
60 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#gbb8aa407f1664d9cee6201bb69e638f7">xed_state_set_machine_mode</a> (<a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p, <a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a> arg_mode)</td></tr>
61
62 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the machine mode.  <a href="#gbb8aa407f1664d9cee6201bb69e638f7"></a><br></td></tr>
63 <tr><td colspan="2"><br><h2>Stack address width</h2></td></tr>
64 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g4fb992e21a8f9f9f39e8fa36f22de96c">xed_state_get_stack_address_width</a> (const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p)</td></tr>
65
66 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the STACK address width.  <a href="#g4fb992e21a8f9f9f39e8fa36f22de96c"></a><br></td></tr>
67 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g724e2158223d6c97bd8fb619af042cf7">xed_state_set_stack_address_width</a> (<a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p, <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> arg_addr_width)</td></tr>
68
69 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the STACK address width  <a href="#g724e2158223d6c97bd8fb619af042cf7"></a><br></td></tr>
70 <tr><td colspan="2"><br><h2>Initialization</h2></td></tr>
71 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g2363cf0a5b4628b09c0dfd1641119714">xed_state_init</a> (<a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p, <a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a> arg_mmode, <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> arg_addr_width, <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> arg_stack_addr_width)</td></tr>
72
73 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#g2363cf0a5b4628b09c0dfd1641119714"></a><br></td></tr>
74 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g8eea80ff7aa0fc77c3c3e90ce3e1fd64">xed_state_zero</a> (<a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p)</td></tr>
75
76 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">clear the xed_state_t  <a href="#g8eea80ff7aa0fc77c3c3e90ce3e1fd64"></a><br></td></tr>
77 <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
78 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef XED_DLL_EXPORT <a class="el" href="structxed__state__s.html">xed_state_s</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a></td></tr>
79
80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encapsulates machine modes for decoder/encoder requests.  <a href="#g58af142456a133c3df29c763216a85cf"></a><br></td></tr>
81 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
82 <tr><td class="memItemLeft" nowrap align="right" valign="top">void XED_DLL_EXPORT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g7d5e71b7c17a2744d4628a6ff6783f6d">xed_decode_init</a> ()</td></tr>
83
84 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the call to initialize the XED decode tables.  <a href="#g7d5e71b7c17a2744d4628a6ff6783f6d"></a><br></td></tr>
85 <tr><td class="memItemLeft" nowrap align="right" valign="top">void XED_DLL_EXPORT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#ge242faa5f18ba224c8db0486bccea260">xed_encode_init</a> ()</td></tr>
86
87 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the call to initialize the XED encode tables.  <a href="#ge242faa5f18ba224c8db0486bccea260"></a><br></td></tr>
88 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g08fe2f1f4c193607648e52aa06025703">xed_get_version</a> ()</td></tr>
89
90 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a string representing XED svn commit revision and time stamp.  <a href="#g08fe2f1f4c193607648e52aa06025703"></a><br></td></tr>
91 <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__INIT.html#ga741e69ed80b317306612bdb2ce4a81a">xed_register_abort_function</a> (void(*fn)(const char *msg, const char *file, int line, void *other), void *other)</td></tr>
92
93 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is for registering a function to be called during XED's assert processing.  <a href="#ga741e69ed80b317306612bdb2ce4a81a"></a><br></td></tr>
94 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g0910f14ae574d3cca7e4cfcc7bc2e0e5">xed_state_print</a> (const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *p, char *buf, int buflen)</td></tr>
95
96 <tr><td class="memItemLeft" nowrap align="right" valign="top">void XED_DLL_EXPORT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__INIT.html#g26aa0242b953b5fd0d14b1fa19442627">xed_tables_init</a> ()</td></tr>
97
98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the call to initialize the XED encode and decode tables.  <a href="#g26aa0242b953b5fd0d14b1fa19442627"></a><br></td></tr>
99 </table>
100 <hr><h2>Typedef Documentation</h2>
101 <a class="anchor" name="g58af142456a133c3df29c763216a85cf"></a><!-- doxytag: member="xed-state.h::xed_state_t" ref="g58af142456a133c3df29c763216a85cf" args="" --><p>
102 <table class="mdTable" cellpadding="2" cellspacing="0">
103   <tr>
104     <td class="mdRow">
105       <table cellpadding="0" cellspacing="0" border="0">
106         <tr>
107           <td class="md" nowrap valign="top">typedef struct XED_DLL_EXPORT <a class="el" href="structxed__state__s.html">xed_state_s</a>  <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>          </td>
108         </tr>
109       </table>
110     </td>
111   </tr>
112 </table>
113 <table cellspacing="5" cellpadding="0" border="0">
114   <tr>
115     <td>
116       &nbsp;
117     </td>
118     <td>
119
120 <p>
121 Encapsulates machine modes for decoder/encoder requests. 
122 <p>
123 It specifies the machine operating mode as a <a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a> 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 <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> .     </td>
124   </tr>
125 </table>
126 <hr><h2>Function Documentation</h2>
127 <a class="anchor" name="g7d5e71b7c17a2744d4628a6ff6783f6d"></a><!-- doxytag: member="xed-init.h::xed_decode_init" ref="g7d5e71b7c17a2744d4628a6ff6783f6d" args="()" --><p>
128 <table class="mdTable" cellpadding="2" cellspacing="0">
129   <tr>
130     <td class="mdRow">
131       <table cellpadding="0" cellspacing="0" border="0">
132         <tr>
133           <td class="md" nowrap valign="top">void XED_DLL_EXPORT xed_decode_init           </td>
134           <td class="md" valign="top">(&nbsp;</td>
135           <td class="mdname1" valign="top" nowrap>          </td>
136           <td class="md" valign="top">&nbsp;)&nbsp;</td>
137           <td class="md" nowrap></td>
138         </tr>
139       </table>
140     </td>
141   </tr>
142 </table>
143 <table cellspacing="5" cellpadding="0" border="0">
144   <tr>
145     <td>
146       &nbsp;
147     </td>
148     <td>
149
150 <p>
151 This is the call to initialize the XED decode tables. 
152 <p>
153 It must be called once before using XED.     </td>
154   </tr>
155 </table>
156 <a class="anchor" name="ge242faa5f18ba224c8db0486bccea260"></a><!-- doxytag: member="xed-init.h::xed_encode_init" ref="ge242faa5f18ba224c8db0486bccea260" args="()" --><p>
157 <table class="mdTable" cellpadding="2" cellspacing="0">
158   <tr>
159     <td class="mdRow">
160       <table cellpadding="0" cellspacing="0" border="0">
161         <tr>
162           <td class="md" nowrap valign="top">void XED_DLL_EXPORT xed_encode_init           </td>
163           <td class="md" valign="top">(&nbsp;</td>
164           <td class="mdname1" valign="top" nowrap>          </td>
165           <td class="md" valign="top">&nbsp;)&nbsp;</td>
166           <td class="md" nowrap></td>
167         </tr>
168       </table>
169     </td>
170   </tr>
171 </table>
172 <table cellspacing="5" cellpadding="0" border="0">
173   <tr>
174     <td>
175       &nbsp;
176     </td>
177     <td>
178
179 <p>
180 This is the call to initialize the XED encode tables. 
181 <p>
182 It must be called once before using XED's encoder.     </td>
183   </tr>
184 </table>
185 <a class="anchor" name="g08fe2f1f4c193607648e52aa06025703"></a><!-- doxytag: member="xed-version.h::xed_get_version" ref="g08fe2f1f4c193607648e52aa06025703" args="()" --><p>
186 <table class="mdTable" cellpadding="2" cellspacing="0">
187   <tr>
188     <td class="mdRow">
189       <table cellpadding="0" cellspacing="0" border="0">
190         <tr>
191           <td class="md" nowrap valign="top">XED_DLL_EXPORT char* xed_get_version           </td>
192           <td class="md" valign="top">(&nbsp;</td>
193           <td class="mdname1" valign="top" nowrap>          </td>
194           <td class="md" valign="top">&nbsp;)&nbsp;</td>
195           <td class="md" nowrap></td>
196         </tr>
197       </table>
198     </td>
199   </tr>
200 </table>
201 <table cellspacing="5" cellpadding="0" border="0">
202   <tr>
203     <td>
204       &nbsp;
205     </td>
206     <td>
207
208 <p>
209 Returns a string representing XED svn commit revision and time stamp. 
210 <p>
211     </td>
212   </tr>
213 </table>
214 <a class="anchor" name="ga741e69ed80b317306612bdb2ce4a81a"></a><!-- doxytag: member="xed-util.h::xed_register_abort_function" ref="ga741e69ed80b317306612bdb2ce4a81a" args="(void(*fn)(const char *msg, const char *file, int line, void *other), void *other)" --><p>
215 <table class="mdTable" cellpadding="2" cellspacing="0">
216   <tr>
217     <td class="mdRow">
218       <table cellpadding="0" cellspacing="0" border="0">
219         <tr>
220           <td class="md" nowrap valign="top">XED_DLL_EXPORT void xed_register_abort_function           </td>
221           <td class="md" valign="top">(&nbsp;</td>
222           <td class="md" nowrap valign="top">void(*)(const char *msg, const char *file, int line, void *other)&nbsp;</td>
223           <td class="mdname" nowrap> <em>fn</em>, </td>
224         </tr>
225         <tr>
226           <td class="md" nowrap align="right"></td>
227           <td class="md"></td>
228           <td class="md" nowrap>void *&nbsp;</td>
229           <td class="mdname" nowrap> <em>other</em></td>
230         </tr>
231         <tr>
232           <td class="md"></td>
233           <td class="md">)&nbsp;</td>
234           <td class="md" colspan="2"></td>
235         </tr>
236       </table>
237     </td>
238   </tr>
239 </table>
240 <table cellspacing="5" cellpadding="0" border="0">
241   <tr>
242     <td>
243       &nbsp;
244     </td>
245     <td>
246
247 <p>
248 This is for registering a function to be called during XED's assert processing. 
249 <p>
250 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.<p>
251 <dl compact><dt><b>Parameters:</b></dt><dd>
252   <table border="0" cellspacing="2" cellpadding="0">
253     <tr><td valign="top"></td><td valign="top"><em>fn</em>&nbsp;</td><td>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. </td></tr>
254     <tr><td valign="top"></td><td valign="top"><em>other</em>&nbsp;</td><td>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.). </td></tr>
255   </table>
256 </dl>
257     </td>
258   </tr>
259 </table>
260 <a class="anchor" name="ga5df14c6b5a97bd9f9ee4c50ab790a85"></a><!-- doxytag: member="xed-state.h::xed_state_get_address_width" ref="ga5df14c6b5a97bd9f9ee4c50ab790a85" args="(const xed_state_t *p)" --><p>
261 <table class="mdTable" cellpadding="2" cellspacing="0">
262   <tr>
263     <td class="mdRow">
264       <table cellpadding="0" cellspacing="0" border="0">
265         <tr>
266           <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> xed_state_get_address_width           </td>
267           <td class="md" valign="top">(&nbsp;</td>
268           <td class="md" nowrap valign="top">const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
269           <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
270           <td class="md" valign="top">&nbsp;)&nbsp;</td>
271           <td class="md" nowrap><code> [static]</code></td>
272         </tr>
273       </table>
274     </td>
275   </tr>
276 </table>
277 <table cellspacing="5" cellpadding="0" border="0">
278   <tr>
279     <td>
280       &nbsp;
281     </td>
282     <td>
283
284 <p>
285 return the address width 
286 <p>
287
288 <p>
289 Definition at line <a class="el" href="xed-state_8h-source.html#l00143">143</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
290   </tr>
291 </table>
292 <a class="anchor" name="g8b1fc00b95c50fd54959889d72dc569a"></a><!-- doxytag: member="xed-state.h::xed_state_get_machine_mode" ref="g8b1fc00b95c50fd54959889d72dc569a" args="(const xed_state_t *p)" --><p>
293 <table class="mdTable" cellpadding="2" cellspacing="0">
294   <tr>
295     <td class="mdRow">
296       <table cellpadding="0" cellspacing="0" border="0">
297         <tr>
298           <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a> xed_state_get_machine_mode           </td>
299           <td class="md" valign="top">(&nbsp;</td>
300           <td class="md" nowrap valign="top">const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
301           <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
302           <td class="md" valign="top">&nbsp;)&nbsp;</td>
303           <td class="md" nowrap><code> [static]</code></td>
304         </tr>
305       </table>
306     </td>
307   </tr>
308 </table>
309 <table cellspacing="5" cellpadding="0" border="0">
310   <tr>
311     <td>
312       &nbsp;
313     </td>
314     <td>
315
316 <p>
317 return the machine mode 
318 <p>
319
320 <p>
321 Definition at line <a class="el" href="xed-state_8h-source.html#l00100">100</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
322   </tr>
323 </table>
324 <a class="anchor" name="g4fb992e21a8f9f9f39e8fa36f22de96c"></a><!-- doxytag: member="xed-state.h::xed_state_get_stack_address_width" ref="g4fb992e21a8f9f9f39e8fa36f22de96c" args="(const xed_state_t *p)" --><p>
325 <table class="mdTable" cellpadding="2" cellspacing="0">
326   <tr>
327     <td class="mdRow">
328       <table cellpadding="0" cellspacing="0" border="0">
329         <tr>
330           <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> xed_state_get_stack_address_width           </td>
331           <td class="md" valign="top">(&nbsp;</td>
332           <td class="md" nowrap valign="top">const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
333           <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
334           <td class="md" valign="top">&nbsp;)&nbsp;</td>
335           <td class="md" nowrap><code> [static]</code></td>
336         </tr>
337       </table>
338     </td>
339   </tr>
340 </table>
341 <table cellspacing="5" cellpadding="0" border="0">
342   <tr>
343     <td>
344       &nbsp;
345     </td>
346     <td>
347
348 <p>
349 Return the STACK address width. 
350 <p>
351
352 <p>
353 Definition at line <a class="el" href="xed-state_8h-source.html#l00161">161</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
354   </tr>
355 </table>
356 <a class="anchor" name="g2363cf0a5b4628b09c0dfd1641119714"></a><!-- doxytag: member="xed-state.h::xed_state_init" ref="g2363cf0a5b4628b09c0dfd1641119714" args="(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)" --><p>
357 <table class="mdTable" cellpadding="2" cellspacing="0">
358   <tr>
359     <td class="mdRow">
360       <table cellpadding="0" cellspacing="0" border="0">
361         <tr>
362           <td class="md" nowrap valign="top">static XED_INLINE void xed_state_init           </td>
363           <td class="md" valign="top">(&nbsp;</td>
364           <td class="md" nowrap valign="top"><a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
365           <td class="mdname" nowrap> <em>p</em>, </td>
366         </tr>
367         <tr>
368           <td class="md" nowrap align="right"></td>
369           <td class="md"></td>
370           <td class="md" nowrap><a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a>&nbsp;</td>
371           <td class="mdname" nowrap> <em>arg_mmode</em>, </td>
372         </tr>
373         <tr>
374           <td class="md" nowrap align="right"></td>
375           <td class="md"></td>
376           <td class="md" nowrap><a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a>&nbsp;</td>
377           <td class="mdname" nowrap> <em>arg_addr_width</em>, </td>
378         </tr>
379         <tr>
380           <td class="md" nowrap align="right"></td>
381           <td class="md"></td>
382           <td class="md" nowrap><a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a>&nbsp;</td>
383           <td class="mdname" nowrap> <em>arg_stack_addr_width</em></td>
384         </tr>
385         <tr>
386           <td class="md"></td>
387           <td class="md">)&nbsp;</td>
388           <td class="md" colspan="2"><code> [static]</code></td>
389         </tr>
390       </table>
391     </td>
392   </tr>
393 </table>
394 <table cellspacing="5" cellpadding="0" border="0">
395   <tr>
396     <td>
397       &nbsp;
398     </td>
399     <td>
400
401 <p>
402 Constructor. 
403 <p>
404 The mode, and addresses widths are enumerations that specify the number of bits. In 64b mode (<a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7708dc25876ca1910c387c0a4f2f066cb">XED_MACHINE_MODE_LONG_64</a>) the address width and stack address widths are 64b (<a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865f682b19c3b67968ad1e45ae794b34e12">XED_ADDRESS_WIDTH_64b</a>). In other machine modes, you must specify valid addressing widths.<p>
405 <dl compact><dt><b>Parameters:</b></dt><dd>
406   <table border="0" cellspacing="2" cellpadding="0">
407     <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the pointer to the <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> type </td></tr>
408     <tr><td valign="top"></td><td valign="top"><em>arg_mmode</em>&nbsp;</td><td>the machine mode of type <a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a> </td></tr>
409     <tr><td valign="top"></td><td valign="top"><em>arg_addr_width</em>&nbsp;</td><td>the address width of type <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> (only required if not the mode is not <a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7708dc25876ca1910c387c0a4f2f066cb">XED_MACHINE_MODE_LONG_64</a>) </td></tr>
410     <tr><td valign="top"></td><td valign="top"><em>arg_stack_addr_width</em>&nbsp;</td><td>the stack address width of type <a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> (only required if not the mode is not <a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7708dc25876ca1910c387c0a4f2f066cb">XED_MACHINE_MODE_LONG_64</a>) </td></tr>
411   </table>
412 </dl>
413
414 <p>
415 Definition at line <a class="el" href="xed-state_8h-source.html#l00077">77</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
416   </tr>
417 </table>
418 <a class="anchor" name="g8d32c7696d58a4a4aa103de13f7de577"></a><!-- doxytag: member="xed-state.h::xed_state_long64_mode" ref="g8d32c7696d58a4a4aa103de13f7de577" args="(const xed_state_t *p)" --><p>
419 <table class="mdTable" cellpadding="2" cellspacing="0">
420   <tr>
421     <td class="mdRow">
422       <table cellpadding="0" cellspacing="0" border="0">
423         <tr>
424           <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_state_long64_mode           </td>
425           <td class="md" valign="top">(&nbsp;</td>
426           <td class="md" nowrap valign="top">const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
427           <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
428           <td class="md" valign="top">&nbsp;)&nbsp;</td>
429           <td class="md" nowrap><code> [static]</code></td>
430         </tr>
431       </table>
432     </td>
433   </tr>
434 </table>
435 <table cellspacing="5" cellpadding="0" border="0">
436   <tr>
437     <td>
438       &nbsp;
439     </td>
440     <td>
441
442 <p>
443 true iff the machine is in LONG_64 mode 
444 <p>
445
446 <p>
447 Definition at line <a class="el" href="xed-state_8h-source.html#l00107">107</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
448   </tr>
449 </table>
450 <a class="anchor" name="g15a9c2418fa6909fc7eeebea045722e6"></a><!-- doxytag: member="xed-state.h::xed_state_mode_width_16" ref="g15a9c2418fa6909fc7eeebea045722e6" args="(const xed_state_t *p)" --><p>
451 <table class="mdTable" cellpadding="2" cellspacing="0">
452   <tr>
453     <td class="mdRow">
454       <table cellpadding="0" cellspacing="0" border="0">
455         <tr>
456           <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_state_mode_width_16           </td>
457           <td class="md" valign="top">(&nbsp;</td>
458           <td class="md" nowrap valign="top">const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
459           <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
460           <td class="md" valign="top">&nbsp;)&nbsp;</td>
461           <td class="md" nowrap><code> [static]</code></td>
462         </tr>
463       </table>
464     </td>
465   </tr>
466 </table>
467 <table cellspacing="5" cellpadding="0" border="0">
468   <tr>
469     <td>
470       &nbsp;
471     </td>
472     <td>
473
474 <p>
475
476 <p>
477 Definition at line <a class="el" href="xed-state_8h-source.html#l00112">112</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
478   </tr>
479 </table>
480 <a class="anchor" name="ga2f13457567fea6468967cde050eefdf"></a><!-- doxytag: member="xed-state.h::xed_state_mode_width_32" ref="ga2f13457567fea6468967cde050eefdf" args="(const xed_state_t *p)" --><p>
481 <table class="mdTable" cellpadding="2" cellspacing="0">
482   <tr>
483     <td class="mdRow">
484       <table cellpadding="0" cellspacing="0" border="0">
485         <tr>
486           <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_state_mode_width_32           </td>
487           <td class="md" valign="top">(&nbsp;</td>
488           <td class="md" nowrap valign="top">const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
489           <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
490           <td class="md" valign="top">&nbsp;)&nbsp;</td>
491           <td class="md" nowrap><code> [static]</code></td>
492         </tr>
493       </table>
494     </td>
495   </tr>
496 </table>
497 <table cellspacing="5" cellpadding="0" border="0">
498   <tr>
499     <td>
500       &nbsp;
501     </td>
502     <td>
503
504 <p>
505
506 <p>
507 Definition at line <a class="el" href="xed-state_8h-source.html#l00118">118</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
508   </tr>
509 </table>
510 <a class="anchor" name="g0910f14ae574d3cca7e4cfcc7bc2e0e5"></a><!-- doxytag: member="xed-state.h::xed_state_print" ref="g0910f14ae574d3cca7e4cfcc7bc2e0e5" args="(const xed_state_t *p, char *buf, int buflen)" --><p>
511 <table class="mdTable" cellpadding="2" cellspacing="0">
512   <tr>
513     <td class="mdRow">
514       <table cellpadding="0" cellspacing="0" border="0">
515         <tr>
516           <td class="md" nowrap valign="top">XED_DLL_EXPORT int xed_state_print           </td>
517           <td class="md" valign="top">(&nbsp;</td>
518           <td class="md" nowrap valign="top">const <a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
519           <td class="mdname" nowrap> <em>p</em>, </td>
520         </tr>
521         <tr>
522           <td class="md" nowrap align="right"></td>
523           <td class="md"></td>
524           <td class="md" nowrap>char *&nbsp;</td>
525           <td class="mdname" nowrap> <em>buf</em>, </td>
526         </tr>
527         <tr>
528           <td class="md" nowrap align="right"></td>
529           <td class="md"></td>
530           <td class="md" nowrap>int&nbsp;</td>
531           <td class="mdname" nowrap> <em>buflen</em></td>
532         </tr>
533         <tr>
534           <td class="md"></td>
535           <td class="md">)&nbsp;</td>
536           <td class="md" colspan="2"></td>
537         </tr>
538       </table>
539     </td>
540   </tr>
541 </table>
542 <table cellspacing="5" cellpadding="0" border="0">
543   <tr>
544     <td>
545       &nbsp;
546     </td>
547     <td>
548
549 <p>
550     </td>
551   </tr>
552 </table>
553 <a class="anchor" name="g0bce6ad444edb7846803eff273be5669"></a><!-- doxytag: member="xed-state.h::xed_state_set_address_width" ref="g0bce6ad444edb7846803eff273be5669" args="(xed_state_t *p, xed_address_width_enum_t arg_addr_width)" --><p>
554 <table class="mdTable" cellpadding="2" cellspacing="0">
555   <tr>
556     <td class="mdRow">
557       <table cellpadding="0" cellspacing="0" border="0">
558         <tr>
559           <td class="md" nowrap valign="top">static XED_INLINE void xed_state_set_address_width           </td>
560           <td class="md" valign="top">(&nbsp;</td>
561           <td class="md" nowrap valign="top"><a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
562           <td class="mdname" nowrap> <em>p</em>, </td>
563         </tr>
564         <tr>
565           <td class="md" nowrap align="right"></td>
566           <td class="md"></td>
567           <td class="md" nowrap><a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a>&nbsp;</td>
568           <td class="mdname" nowrap> <em>arg_addr_width</em></td>
569         </tr>
570         <tr>
571           <td class="md"></td>
572           <td class="md">)&nbsp;</td>
573           <td class="md" colspan="2"><code> [static]</code></td>
574         </tr>
575       </table>
576     </td>
577   </tr>
578 </table>
579 <table cellspacing="5" cellpadding="0" border="0">
580   <tr>
581     <td>
582       &nbsp;
583     </td>
584     <td>
585
586 <p>
587 Set the address width. 
588 <p>
589
590 <p>
591 Definition at line <a class="el" href="xed-state_8h-source.html#l00136">136</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
592   </tr>
593 </table>
594 <a class="anchor" name="gbb8aa407f1664d9cee6201bb69e638f7"></a><!-- doxytag: member="xed-state.h::xed_state_set_machine_mode" ref="gbb8aa407f1664d9cee6201bb69e638f7" args="(xed_state_t *p, xed_machine_mode_enum_t arg_mode)" --><p>
595 <table class="mdTable" cellpadding="2" cellspacing="0">
596   <tr>
597     <td class="mdRow">
598       <table cellpadding="0" cellspacing="0" border="0">
599         <tr>
600           <td class="md" nowrap valign="top">static XED_INLINE void xed_state_set_machine_mode           </td>
601           <td class="md" valign="top">(&nbsp;</td>
602           <td class="md" nowrap valign="top"><a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
603           <td class="mdname" nowrap> <em>p</em>, </td>
604         </tr>
605         <tr>
606           <td class="md" nowrap align="right"></td>
607           <td class="md"></td>
608           <td class="md" nowrap><a class="el" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a>&nbsp;</td>
609           <td class="mdname" nowrap> <em>arg_mode</em></td>
610         </tr>
611         <tr>
612           <td class="md"></td>
613           <td class="md">)&nbsp;</td>
614           <td class="md" colspan="2"><code> [static]</code></td>
615         </tr>
616       </table>
617     </td>
618   </tr>
619 </table>
620 <table cellspacing="5" cellpadding="0" border="0">
621   <tr>
622     <td>
623       &nbsp;
624     </td>
625     <td>
626
627 <p>
628 Set the machine mode. 
629 <p>
630
631 <p>
632 Definition at line <a class="el" href="xed-state_8h-source.html#l00126">126</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
633   </tr>
634 </table>
635 <a class="anchor" name="g724e2158223d6c97bd8fb619af042cf7"></a><!-- doxytag: member="xed-state.h::xed_state_set_stack_address_width" ref="g724e2158223d6c97bd8fb619af042cf7" args="(xed_state_t *p, xed_address_width_enum_t arg_addr_width)" --><p>
636 <table class="mdTable" cellpadding="2" cellspacing="0">
637   <tr>
638     <td class="mdRow">
639       <table cellpadding="0" cellspacing="0" border="0">
640         <tr>
641           <td class="md" nowrap valign="top">static XED_INLINE void xed_state_set_stack_address_width           </td>
642           <td class="md" valign="top">(&nbsp;</td>
643           <td class="md" nowrap valign="top"><a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
644           <td class="mdname" nowrap> <em>p</em>, </td>
645         </tr>
646         <tr>
647           <td class="md" nowrap align="right"></td>
648           <td class="md"></td>
649           <td class="md" nowrap><a class="el" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a>&nbsp;</td>
650           <td class="mdname" nowrap> <em>arg_addr_width</em></td>
651         </tr>
652         <tr>
653           <td class="md"></td>
654           <td class="md">)&nbsp;</td>
655           <td class="md" colspan="2"><code> [static]</code></td>
656         </tr>
657       </table>
658     </td>
659   </tr>
660 </table>
661 <table cellspacing="5" cellpadding="0" border="0">
662   <tr>
663     <td>
664       &nbsp;
665     </td>
666     <td>
667
668 <p>
669 set the STACK address width 
670 <p>
671
672 <p>
673 Definition at line <a class="el" href="xed-state_8h-source.html#l00153">153</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
674   </tr>
675 </table>
676 <a class="anchor" name="g8eea80ff7aa0fc77c3c3e90ce3e1fd64"></a><!-- doxytag: member="xed-state.h::xed_state_zero" ref="g8eea80ff7aa0fc77c3c3e90ce3e1fd64" args="(xed_state_t *p)" --><p>
677 <table class="mdTable" cellpadding="2" cellspacing="0">
678   <tr>
679     <td class="mdRow">
680       <table cellpadding="0" cellspacing="0" border="0">
681         <tr>
682           <td class="md" nowrap valign="top">static XED_INLINE void xed_state_zero           </td>
683           <td class="md" valign="top">(&nbsp;</td>
684           <td class="md" nowrap valign="top"><a class="el" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a> *&nbsp;</td>
685           <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
686           <td class="md" valign="top">&nbsp;)&nbsp;</td>
687           <td class="md" nowrap><code> [static]</code></td>
688         </tr>
689       </table>
690     </td>
691   </tr>
692 </table>
693 <table cellspacing="5" cellpadding="0" border="0">
694   <tr>
695     <td>
696       &nbsp;
697     </td>
698     <td>
699
700 <p>
701 clear the xed_state_t 
702 <p>
703
704 <p>
705 Definition at line <a class="el" href="xed-state_8h-source.html#l00088">88</a> of file <a class="el" href="xed-state_8h-source.html">xed-state.h</a>.    </td>
706   </tr>
707 </table>
708 <a class="anchor" name="g26aa0242b953b5fd0d14b1fa19442627"></a><!-- doxytag: member="xed-init.h::xed_tables_init" ref="g26aa0242b953b5fd0d14b1fa19442627" args="()" --><p>
709 <table class="mdTable" cellpadding="2" cellspacing="0">
710   <tr>
711     <td class="mdRow">
712       <table cellpadding="0" cellspacing="0" border="0">
713         <tr>
714           <td class="md" nowrap valign="top">void XED_DLL_EXPORT xed_tables_init           </td>
715           <td class="md" valign="top">(&nbsp;</td>
716           <td class="mdname1" valign="top" nowrap>          </td>
717           <td class="md" valign="top">&nbsp;)&nbsp;</td>
718           <td class="md" nowrap></td>
719         </tr>
720       </table>
721     </td>
722   </tr>
723 </table>
724 <table cellspacing="5" cellpadding="0" border="0">
725   <tr>
726     <td>
727       &nbsp;
728     </td>
729     <td>
730
731 <p>
732 This is the call to initialize the XED encode and decode tables. 
733 <p>
734 It must be called once before using XED.     </td>
735   </tr>
736 </table>
737 <hr size="1"><address style="align: right;"><small>Generated on Thu May 15 03:15:09 2008 for XED2 by&nbsp;
738 <a href="http://www.doxygen.org/index.html">
739 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
740 </body>
741 </html>