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 / xed-state_8h-source.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 id="current"><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 <div class="tabs">
26   <ul>
27     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
28     <li><a href="globals.html"><span>Globals</span></a></li>
29   </ul></div>
30 <h1>xed-state.h</h1><a href="xed-state_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*BEGIN_LEGAL </span>
31 <a name="l00002"></a>00002 <span class="comment">Copyright (c) 2007, Intel Corp.</span>
32 <a name="l00003"></a>00003 <span class="comment">All rights reserved.</span>
33 <a name="l00004"></a>00004 <span class="comment"></span>
34 <a name="l00005"></a>00005 <span class="comment">Redistribution and use in source and binary forms, with or without</span>
35 <a name="l00006"></a>00006 <span class="comment">modification, are permitted provided that the following conditions are</span>
36 <a name="l00007"></a>00007 <span class="comment">met:</span>
37 <a name="l00008"></a>00008 <span class="comment"></span>
38 <a name="l00009"></a>00009 <span class="comment">    * Redistributions of source code must retain the above copyright</span>
39 <a name="l00010"></a>00010 <span class="comment">      notice, this list of conditions and the following disclaimer.</span>
40 <a name="l00011"></a>00011 <span class="comment"></span>
41 <a name="l00012"></a>00012 <span class="comment">    * Redistributions in binary form must reproduce the above</span>
42 <a name="l00013"></a>00013 <span class="comment">      copyright notice, this list of conditions and the following</span>
43 <a name="l00014"></a>00014 <span class="comment">      disclaimer in the documentation and/or other materials provided</span>
44 <a name="l00015"></a>00015 <span class="comment">      with the distribution.</span>
45 <a name="l00016"></a>00016 <span class="comment"></span>
46 <a name="l00017"></a>00017 <span class="comment">    * Neither the name of Intel Corporation nor the names of its</span>
47 <a name="l00018"></a>00018 <span class="comment">      contributors may be used to endorse or promote products derived</span>
48 <a name="l00019"></a>00019 <span class="comment">      from this software without specific prior written permission.</span>
49 <a name="l00020"></a>00020 <span class="comment"></span>
50 <a name="l00021"></a>00021 <span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
51 <a name="l00022"></a>00022 <span class="comment">"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
52 <a name="l00023"></a>00023 <span class="comment">LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
53 <a name="l00024"></a>00024 <span class="comment">A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
54 <a name="l00025"></a>00025 <span class="comment">OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
55 <a name="l00026"></a>00026 <span class="comment">SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
56 <a name="l00027"></a>00027 <span class="comment">LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
57 <a name="l00028"></a>00028 <span class="comment">DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
58 <a name="l00029"></a>00029 <span class="comment">THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
59 <a name="l00030"></a>00030 <span class="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
60 <a name="l00031"></a>00031 <span class="comment">OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
61 <a name="l00032"></a>00032 <span class="comment">END_LEGAL */</span>
62 <a name="l00035"></a>00035 
63 <a name="l00036"></a>00036 
64 <a name="l00037"></a>00037 
65 <a name="l00038"></a>00038 <span class="preprocessor">#ifndef _XED_STATE_H_</span>
66 <a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor"># define _XED_STATE_H_</span>
67 <a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="xed-types_8h.html">xed-types.h</a>"</span>
68 <a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="xed-portability_8h.html">xed-portability.h</a>"</span>
69 <a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="xed-address-width-enum_8h.html">xed-address-width-enum.h</a>"</span> <span class="comment">// generated</span>
70 <a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="xed-machine-mode-enum_8h.html">xed-machine-mode-enum.h</a>"</span> <span class="comment">// generated</span>
71 <a name="l00044"></a>00044 
72 <a name="l00045"></a>00045 
73 <a name="l00053"></a><a class="code" href="structxed__state__s.html">00053</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="structxed__state__s.html">xed_state_s</a> {
74 <a name="l00055"></a><a class="code" href="structxed__state__s.html#cedcfb0936b7c302087ad7fe5de5cb10">00055</a>   <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a> mmode; 
75 <a name="l00056"></a>00056   
76 <a name="l00058"></a><a class="code" href="structxed__state__s.html#f5cda9af71b621ed6e70fc2d84ab6998">00058</a>   <a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> addr_width;
77 <a name="l00059"></a>00059   
78 <a name="l00061"></a><a class="code" href="structxed__state__s.html#202e530cc6f872ce7744b4bdddcb49ba">00061</a>   <a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> stack_addr_width; 
79 <a name="l00062"></a>00062 } <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>;
80 <a name="l00063"></a>00063 
81 <a name="l00065"></a>00065 
82 <a name="l00066"></a>00066 
83 <a name="l00067"></a>00067 
84 <a name="l00068"></a>00068 
85 <a name="l00069"></a>00069 
86 <a name="l00070"></a>00070 
87 <a name="l00071"></a>00071 
88 <a name="l00072"></a>00072 
89 <a name="l00073"></a>00073 
90 <a name="l00074"></a>00074 
91 <a name="l00075"></a>00075 
92 <a name="l00076"></a>00076 
93 <a name="l00077"></a><a class="code" href="group__INIT.html#g2363cf0a5b4628b09c0dfd1641119714">00077</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keywordtype">void</span> <a class="code" href="group__INIT.html#g2363cf0a5b4628b09c0dfd1641119714">xed_state_init</a>(<a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p,
94 <a name="l00078"></a>00078                                       <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a> arg_mmode,
95 <a name="l00079"></a>00079                                       <a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> arg_addr_width,
96 <a name="l00080"></a>00080                                       <a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> arg_stack_addr_width) {
97 <a name="l00081"></a>00081     p-&gt;mmode=arg_mmode;
98 <a name="l00082"></a>00082     p-&gt;addr_width=arg_addr_width;
99 <a name="l00083"></a>00083     p-&gt;stack_addr_width=arg_stack_addr_width;
100 <a name="l00084"></a>00084 }
101 <a name="l00085"></a>00085 
102 <a name="l00088"></a><a class="code" href="group__INIT.html#g8eea80ff7aa0fc77c3c3e90ce3e1fd64">00088</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keywordtype">void</span> <a class="code" href="group__INIT.html#g8eea80ff7aa0fc77c3c3e90ce3e1fd64">xed_state_zero</a>(<a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p) {
103 <a name="l00089"></a>00089     p-&gt;mmode= <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a73f27b5c4953ac16143c8c15c71b9ff00">XED_MACHINE_MODE_INVALID</a>;
104 <a name="l00090"></a>00090     p-&gt;addr_width=<a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865f77459182fc585c4267ec88755f5ea06">XED_ADDRESS_WIDTH_INVALID</a>;
105 <a name="l00091"></a>00091     p-&gt;stack_addr_width=<a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865f77459182fc585c4267ec88755f5ea06">XED_ADDRESS_WIDTH_INVALID</a>;
106 <a name="l00092"></a>00092 }
107 <a name="l00093"></a>00093 
108 <a name="l00095"></a>00095 
109 <a name="l00097"></a>00097 
110 <a name="l00098"></a>00098 
111 <a name="l00099"></a>00099 
112 <a name="l00100"></a><a class="code" href="group__INIT.html#g8b1fc00b95c50fd54959889d72dc569a">00100</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a>   <a class="code" href="group__INIT.html#g8b1fc00b95c50fd54959889d72dc569a">xed_state_get_machine_mode</a>(<span class="keyword">const</span> <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p) {
113 <a name="l00101"></a>00101     <span class="keywordflow">return</span> p-&gt;mmode; 
114 <a name="l00102"></a>00102 }
115 <a name="l00103"></a>00103 
116 <a name="l00104"></a>00104 
117 <a name="l00107"></a><a class="code" href="group__INIT.html#g8d32c7696d58a4a4aa103de13f7de577">00107</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__INIT.html#g8d32c7696d58a4a4aa103de13f7de577">xed_state_long64_mode</a>(<span class="keyword">const</span> <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p) { 
118 <a name="l00108"></a>00108     <span class="keywordflow">return</span> <a class="code" href="group__INIT.html#g8b1fc00b95c50fd54959889d72dc569a">xed_state_get_machine_mode</a>(p) == <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7708dc25876ca1910c387c0a4f2f066cb">XED_MACHINE_MODE_LONG_64</a>;
119 <a name="l00109"></a>00109 }
120 <a name="l00110"></a>00110 
121 <a name="l00112"></a><a class="code" href="group__INIT.html#g15a9c2418fa6909fc7eeebea045722e6">00112</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__INIT.html#g15a9c2418fa6909fc7eeebea045722e6">xed_state_mode_width_16</a>(<span class="keyword">const</span> <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p) {
122 <a name="l00113"></a>00113     <span class="keywordflow">return</span> (<a class="code" href="group__INIT.html#g8b1fc00b95c50fd54959889d72dc569a">xed_state_get_machine_mode</a>(p) == <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7389547057da410225afe20064b3a4c0e">XED_MACHINE_MODE_LEGACY_16</a>) ||
123 <a name="l00114"></a>00114         (<a class="code" href="group__INIT.html#g8b1fc00b95c50fd54959889d72dc569a">xed_state_get_machine_mode</a>(p) == <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a74cfc0a828f9fce37f07d0764d49a0976">XED_MACHINE_MODE_LONG_COMPAT_16</a>);
124 <a name="l00115"></a>00115 }
125 <a name="l00116"></a>00116 
126 <a name="l00118"></a><a class="code" href="group__INIT.html#ga2f13457567fea6468967cde050eefdf">00118</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__INIT.html#ga2f13457567fea6468967cde050eefdf">xed_state_mode_width_32</a>(<span class="keyword">const</span> <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p) {
127 <a name="l00119"></a>00119     <span class="keywordflow">return</span> (<a class="code" href="group__INIT.html#g8b1fc00b95c50fd54959889d72dc569a">xed_state_get_machine_mode</a>(p) == <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7a96a9d517621e28100e179eff7c92458">XED_MACHINE_MODE_LEGACY_32</a>) ||
128 <a name="l00120"></a>00120         (<a class="code" href="group__INIT.html#g8b1fc00b95c50fd54959889d72dc569a">xed_state_get_machine_mode</a>(p) == <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a71f0b512a8836f22da0b51bee9c656cd2">XED_MACHINE_MODE_LONG_COMPAT_32</a>);
129 <a name="l00121"></a>00121 }
130 <a name="l00122"></a>00122   
131 <a name="l00123"></a>00123 
132 <a name="l00126"></a><a class="code" href="group__INIT.html#gbb8aa407f1664d9cee6201bb69e638f7">00126</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keywordtype">void</span>  <a class="code" href="group__INIT.html#gbb8aa407f1664d9cee6201bb69e638f7">xed_state_set_machine_mode</a>( <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p,
133 <a name="l00127"></a>00127                         <a class="code" href="xed-machine-mode-enum_8h.html#754db9d73c5365644094cd161fe570a7">xed_machine_mode_enum_t</a> arg_mode)  {
134 <a name="l00128"></a>00128     p-&gt;mmode = arg_mode;
135 <a name="l00129"></a>00129 }
136 <a name="l00131"></a>00131 
137 <a name="l00133"></a>00133 
138 <a name="l00134"></a>00134 
139 <a name="l00135"></a>00135 
140 <a name="l00136"></a><a class="code" href="group__INIT.html#g0bce6ad444edb7846803eff273be5669">00136</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keywordtype">void</span> <a class="code" href="group__INIT.html#g0bce6ad444edb7846803eff273be5669">xed_state_set_address_width</a>(<a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p,
141 <a name="l00137"></a>00137                                                    <a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> arg_addr_width) {
142 <a name="l00138"></a>00138     p-&gt;addr_width = arg_addr_width;
143 <a name="l00139"></a>00139 }
144 <a name="l00140"></a>00140 
145 <a name="l00143"></a><a class="code" href="group__INIT.html#ga5df14c6b5a97bd9f9ee4c50ab790a85">00143</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a>  <a class="code" href="group__INIT.html#ga5df14c6b5a97bd9f9ee4c50ab790a85">xed_state_get_address_width</a>(<span class="keyword">const</span> <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p) {
146 <a name="l00144"></a>00144     <span class="keywordflow">return</span> p-&gt;addr_width;
147 <a name="l00145"></a>00145 }
148 <a name="l00146"></a>00146 
149 <a name="l00148"></a>00148 
150 <a name="l00150"></a>00150 
151 <a name="l00151"></a>00151 
152 <a name="l00152"></a>00152 
153 <a name="l00153"></a><a class="code" href="group__INIT.html#g724e2158223d6c97bd8fb619af042cf7">00153</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keywordtype">void</span>  <a class="code" href="group__INIT.html#g724e2158223d6c97bd8fb619af042cf7">xed_state_set_stack_address_width</a>(<a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p,
154 <a name="l00154"></a>00154                               <a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a> arg_addr_width) {
155 <a name="l00155"></a>00155     p-&gt;stack_addr_width = arg_addr_width;
156 <a name="l00156"></a>00156 }
157 <a name="l00157"></a>00157 
158 <a name="l00158"></a>00158 
159 <a name="l00161"></a><a class="code" href="group__INIT.html#g4fb992e21a8f9f9f39e8fa36f22de96c">00161</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-address-width-enum_8h.html#2fe76cf1d3e62a77190798dc87c0a865">xed_address_width_enum_t</a>  <a class="code" href="group__INIT.html#g4fb992e21a8f9f9f39e8fa36f22de96c">xed_state_get_stack_address_width</a>(<span class="keyword">const</span> <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p) {
160 <a name="l00162"></a>00162     <span class="keywordflow">return</span> p-&gt;stack_addr_width;
161 <a name="l00163"></a>00163 }
162 <a name="l00165"></a>00165 
163 <a name="l00167"></a>00167 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">int</span> <a class="code" href="group__INIT.html#g0910f14ae574d3cca7e4cfcc7bc2e0e5">xed_state_print</a>(<span class="keyword">const</span> <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* p, <span class="keywordtype">char</span>* buf, <span class="keywordtype">int</span> buflen);
164 <a name="l00168"></a>00168 
165 <a name="l00169"></a>00169 <span class="preprocessor">#endif</span>
166 <a name="l00170"></a>00170 <span class="preprocessor"></span>
167 <a name="l00172"></a>00172 <span class="comment">//Local Variables:</span>
168 <a name="l00173"></a>00173 <span class="comment">//pref: "../../xed-state.c"</span>
169 <a name="l00174"></a>00174 <span class="comment">//End:</span>
170 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu May 15 03:15:09 2008 for XED2 by&nbsp;
171 <a href="http://www.doxygen.org/index.html">
172 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
173 </body>
174 </html>