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">
7 <!-- Generated by Doxygen 1.4.6 -->
10 <li><a href="main.html"><span>Main Page</span></a></li>
11 <li><a href="modules.html"><span>Modules</span></a></li>
12 <li><a href="classes.html"><span>Data Structures</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
15 <form action="search.php" method="get">
16 <table cellspacing="0" cellpadding="0" border="0">
18 <td><label> <u>S</u>earch for </label></td>
19 <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
25 <h1>Flags Interface</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
26 There are several functions that provide more information about the flags read and written.<p>
27 The flags are available from the <a class="el" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a> via the <a class="el" href="group__DEC.html#g275353ead71e5915f810ef06c4149b68">xed_decoded_inst_get_rflags_info()</a> function which returns a <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> pointer.
29 <table border="0" cellpadding="0" cellspacing="0">
31 <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
32 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structxed__flag__enum__s.html">xed_flag_enum_s</a></td></tr>
34 <tr><td class="mdescLeft"> </td><td class="mdescRight">Associated with each flag field there can be one action. <a href="structxed__flag__enum__s.html#_details">More...</a><br></td></tr>
35 <tr><td class="memItemLeft" nowrap align="right" valign="top">union </td><td class="memItemRight" valign="bottom"><a class="el" href="unionxed__flag__set__s.html">xed_flag_set_s</a></td></tr>
37 <tr><td class="mdescLeft"> </td><td class="mdescRight">a union of flags bits <a href="unionxed__flag__set__s.html#_details">More...</a><br></td></tr>
38 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structxed__simple__flag__s.html">xed_simple_flag_s</a></td></tr>
40 <tr><td class="mdescLeft"> </td><td class="mdescRight">A collection of <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a>'s and unions of read and written flags. <a href="structxed__simple__flag__s.html#_details">More...</a><br></td></tr>
41 <tr><td colspan="2"><br><h2>Lowest-level flag-action accessors</h2></td></tr>
42 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g21cc087c3f007cc0944c7acf286f504c">xed_flag_action_action_invalid</a> (const <a class="el" href="xed-flag-action-enum_8h.html#773a73e698efc788d2e9e7cf908ba147">xed_flag_action_enum_t</a> a)</td></tr>
44 <tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if the specified action is invalid. <a href="#g21cc087c3f007cc0944c7acf286f504c"></a><br></td></tr>
45 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-flag-action-enum_8h.html#773a73e698efc788d2e9e7cf908ba147">xed_flag_action_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g80abcc15e609878f1daaac1b988fc0fe">xed_flag_action_get_action</a> (const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> *p, unsigned int i)</td></tr>
47 <tr><td class="mdescLeft"> </td><td class="mdescRight">return the action <a href="#g80abcc15e609878f1daaac1b988fc0fe"></a><br></td></tr>
48 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-flag-enum_8h.html#deb40402942b755ccf3761c7e1804286">xed_flag_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#gbbffcc50db4e54b40a57a5427320c2a9">xed_flag_action_get_flag_name</a> (const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> *p)</td></tr>
50 <tr><td class="mdescLeft"> </td><td class="mdescRight">get the name of the flag <a href="#gbbffcc50db4e54b40a57a5427320c2a9"></a><br></td></tr>
51 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#gabc09792128a39245636f4b0aab77f42">xed_flag_action_print</a> (const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> *p, char *buf, int buflen)</td></tr>
53 <tr><td class="mdescLeft"> </td><td class="mdescRight">print the flag & actions <a href="#gabc09792128a39245636f4b0aab77f42"></a><br></td></tr>
54 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g8be4c3f2c1860838463073f8cccb9e02">xed_flag_action_read_action</a> (<a class="el" href="xed-flag-action-enum_8h.html#773a73e698efc788d2e9e7cf908ba147">xed_flag_action_enum_t</a> a)</td></tr>
56 <tr><td class="mdescLeft"> </td><td class="mdescRight">test to see if the specific action is a read <a href="#g8be4c3f2c1860838463073f8cccb9e02"></a><br></td></tr>
57 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g08e4a4c4eea80dc85f569ca1a4b7f614">xed_flag_action_read_flag</a> (const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> *p)</td></tr>
59 <tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if either action is a read <a href="#g08e4a4c4eea80dc85f569ca1a4b7f614"></a><br></td></tr>
60 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g93ce4bd708adffe1ec0c5c3a884802cc">xed_flag_action_write_action</a> (<a class="el" href="xed-flag-action-enum_8h.html#773a73e698efc788d2e9e7cf908ba147">xed_flag_action_enum_t</a> a)</td></tr>
62 <tr><td class="mdescLeft"> </td><td class="mdescRight">test to see if a specific action is a write <a href="#g93ce4bd708adffe1ec0c5c3a884802cc"></a><br></td></tr>
63 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#ge17824babf697205b4ec3ea1547e6f95">xed_flag_action_writes_flag</a> (const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> *p)</td></tr>
65 <tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if either action is a write <a href="#ge17824babf697205b4ec3ea1547e6f95"></a><br></td></tr>
66 <tr><td colspan="2"><br><h2>Flag-set accessors</h2></td></tr>
67 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g1beb49469f104f6e92147b0522fb7cc0">xed_flag_set_is_subset_of</a> (const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> *p, const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> *other)</td></tr>
69 <tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if this object has a subset of the flags of the "other" object. <a href="#g1beb49469f104f6e92147b0522fb7cc0"></a><br></td></tr>
70 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g7f7a68d1f3d02a08b60205a96e025bb2">xed_flag_set_print</a> (const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> *p, char *buf, int buflen)</td></tr>
72 <tr><td class="mdescLeft"> </td><td class="mdescRight">print the flag set in the supplied buffer <a href="#g7f7a68d1f3d02a08b60205a96e025bb2"></a><br></td></tr>
73 <tr><td colspan="2"><br><h2>Accessing the simple flags (Mid-level access)</h2></td></tr>
74 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g1db7706b1121de4f70e82fc85e3988c1">xed_simple_flag_get_flag_action</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p, unsigned int i)</td></tr>
76 <tr><td class="mdescLeft"> </td><td class="mdescRight">return the specific flag-action. <a href="#g1db7706b1121de4f70e82fc85e3988c1"></a><br></td></tr>
77 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g7ef6569c3ed439bc8987307492a59281">xed_simple_flag_get_may_write</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p)</td></tr>
79 <tr><td class="mdescLeft"> </td><td class="mdescRight">Indicates the flags are only conditionally written. <a href="#g7ef6569c3ed439bc8987307492a59281"></a><br></td></tr>
80 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#gb8e5992bf7dc342a056c4f57c80c01ed">xed_simple_flag_get_must_write</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p)</td></tr>
82 <tr><td class="mdescLeft"> </td><td class="mdescRight">the flags always written <a href="#gb8e5992bf7dc342a056c4f57c80c01ed"></a><br></td></tr>
83 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g786dd6f5adb1f8d6aa47f53c1531473c">xed_simple_flag_get_nflags</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p)</td></tr>
85 <tr><td class="mdescLeft"> </td><td class="mdescRight">returns the number of flag-actions <a href="#g786dd6f5adb1f8d6aa47f53c1531473c"></a><br></td></tr>
86 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g0ae38bd952ce6da5eac4dac97c943caa">xed_simple_flag_get_read_flag_set</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p)</td></tr>
88 <tr><td class="mdescLeft"> </td><td class="mdescRight">return union of bits for read flags <a href="#g0ae38bd952ce6da5eac4dac97c943caa"></a><br></td></tr>
89 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#gfd8226ec18ea804e5abbe9e6fef0c526">xed_simple_flag_get_written_flag_set</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p)</td></tr>
91 <tr><td class="mdescLeft"> </td><td class="mdescRight">return union of bits for written flags <a href="#gfd8226ec18ea804e5abbe9e6fef0c526"></a><br></td></tr>
92 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#gee816a433d9b1d87036165ac530c2a41">xed_simple_flag_print</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p, char *buf, int buflen)</td></tr>
94 <tr><td class="mdescLeft"> </td><td class="mdescRight">print the flags <a href="#gee816a433d9b1d87036165ac530c2a41"></a><br></td></tr>
95 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g9aca7e505fe7962aa715528f32b18784">xed_simple_flag_reads_flags</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p)</td></tr>
97 <tr><td class="mdescLeft"> </td><td class="mdescRight">boolean test to see if flags are read, scans the flags <a href="#g9aca7e505fe7962aa715528f32b18784"></a><br></td></tr>
98 <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g6bf79b1d9e94986b06db3977172ceeff">xed_simple_flag_writes_flags</a> (const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> *p)</td></tr>
100 <tr><td class="mdescLeft"> </td><td class="mdescRight">boolean test to see if flags are written, scans the flags <a href="#g6bf79b1d9e94986b06db3977172ceeff"></a><br></td></tr>
101 <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
102 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef XED_DLL_EXPORT <a class="el" href="structxed__flag__enum__s.html">xed_flag_enum_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a></td></tr>
104 <tr><td class="mdescLeft"> </td><td class="mdescRight">Associated with each flag field there can be one action. <a href="#g9a54b90e10974a59ee94c57d364254d2"></a><br></td></tr>
105 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef XED_DLL_EXPORT <a class="el" href="structxed__simple__flag__s.html">xed_simple_flag_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a></td></tr>
107 <tr><td class="mdescLeft"> </td><td class="mdescRight">A collection of <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a>'s and unions of read and written flags. <a href="#g7a0efe6ee18616a7d37af47d4e3cae10"></a><br></td></tr>
109 <hr><h2>Typedef Documentation</h2>
110 <a class="anchor" name="g9a54b90e10974a59ee94c57d364254d2"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_t" ref="g9a54b90e10974a59ee94c57d364254d2" args="" --><p>
111 <table class="mdTable" cellpadding="2" cellspacing="0">
114 <table cellpadding="0" cellspacing="0" border="0">
116 <td class="md" nowrap valign="top">typedef struct XED_DLL_EXPORT <a class="el" href="structxed__flag__enum__s.html">xed_flag_enum_s</a> <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> </td>
122 <table cellspacing="5" cellpadding="0" border="0">
130 Associated with each flag field there can be one action.
135 <a class="anchor" name="g7a0efe6ee18616a7d37af47d4e3cae10"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_t" ref="g7a0efe6ee18616a7d37af47d4e3cae10" args="" --><p>
136 <table class="mdTable" cellpadding="2" cellspacing="0">
139 <table cellpadding="0" cellspacing="0" border="0">
141 <td class="md" nowrap valign="top">typedef struct XED_DLL_EXPORT <a class="el" href="structxed__simple__flag__s.html">xed_simple_flag_s</a> <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> </td>
147 <table cellspacing="5" cellpadding="0" border="0">
155 A collection of <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a>'s and unions of read and written flags.
160 <hr><h2>Function Documentation</h2>
161 <a class="anchor" name="g21cc087c3f007cc0944c7acf286f504c"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_action_invalid" ref="g21cc087c3f007cc0944c7acf286f504c" args="(const xed_flag_action_enum_t a)" --><p>
162 <table class="mdTable" cellpadding="2" cellspacing="0">
165 <table cellpadding="0" cellspacing="0" border="0">
167 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_flag_action_action_invalid </td>
168 <td class="md" valign="top">( </td>
169 <td class="md" nowrap valign="top">const <a class="el" href="xed-flag-action-enum_8h.html#773a73e698efc788d2e9e7cf908ba147">xed_flag_action_enum_t</a> </td>
170 <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
171 <td class="md" valign="top"> ) </td>
172 <td class="md" nowrap></td>
178 <table cellspacing="5" cellpadding="0" border="0">
186 returns true if the specified action is invalid.
188 Only the 2nd flag might be invalid. </td>
191 <a class="anchor" name="g80abcc15e609878f1daaac1b988fc0fe"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_get_action" ref="g80abcc15e609878f1daaac1b988fc0fe" args="(const xed_flag_action_t *p, unsigned int i)" --><p>
192 <table class="mdTable" cellpadding="2" cellspacing="0">
195 <table cellpadding="0" cellspacing="0" border="0">
197 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-flag-action-enum_8h.html#773a73e698efc788d2e9e7cf908ba147">xed_flag_action_enum_t</a> xed_flag_action_get_action </td>
198 <td class="md" valign="top">( </td>
199 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> * </td>
200 <td class="mdname" nowrap> <em>p</em>, </td>
203 <td class="md" nowrap align="right"></td>
205 <td class="md" nowrap>unsigned int </td>
206 <td class="mdname" nowrap> <em>i</em></td>
210 <td class="md">) </td>
211 <td class="md" colspan="2"></td>
217 <table cellspacing="5" cellpadding="0" border="0">
230 <a class="anchor" name="gbbffcc50db4e54b40a57a5427320c2a9"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_get_flag_name" ref="gbbffcc50db4e54b40a57a5427320c2a9" args="(const xed_flag_action_t *p)" --><p>
231 <table class="mdTable" cellpadding="2" cellspacing="0">
234 <table cellpadding="0" cellspacing="0" border="0">
236 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-flag-enum_8h.html#deb40402942b755ccf3761c7e1804286">xed_flag_enum_t</a> xed_flag_action_get_flag_name </td>
237 <td class="md" valign="top">( </td>
238 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> * </td>
239 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
240 <td class="md" valign="top"> ) </td>
241 <td class="md" nowrap></td>
247 <table cellspacing="5" cellpadding="0" border="0">
255 get the name of the flag
260 <a class="anchor" name="gabc09792128a39245636f4b0aab77f42"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_print" ref="gabc09792128a39245636f4b0aab77f42" args="(const xed_flag_action_t *p, char *buf, int buflen)" --><p>
261 <table class="mdTable" cellpadding="2" cellspacing="0">
264 <table cellpadding="0" cellspacing="0" border="0">
266 <td class="md" nowrap valign="top">XED_DLL_EXPORT int xed_flag_action_print </td>
267 <td class="md" valign="top">( </td>
268 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> * </td>
269 <td class="mdname" nowrap> <em>p</em>, </td>
272 <td class="md" nowrap align="right"></td>
274 <td class="md" nowrap>char * </td>
275 <td class="mdname" nowrap> <em>buf</em>, </td>
278 <td class="md" nowrap align="right"></td>
280 <td class="md" nowrap>int </td>
281 <td class="mdname" nowrap> <em>buflen</em></td>
285 <td class="md">) </td>
286 <td class="md" colspan="2"></td>
292 <table cellspacing="5" cellpadding="0" border="0">
300 print the flag & actions
305 <a class="anchor" name="g8be4c3f2c1860838463073f8cccb9e02"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_read_action" ref="g8be4c3f2c1860838463073f8cccb9e02" args="(xed_flag_action_enum_t a)" --><p>
306 <table class="mdTable" cellpadding="2" cellspacing="0">
309 <table cellpadding="0" cellspacing="0" border="0">
311 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_flag_action_read_action </td>
312 <td class="md" valign="top">( </td>
313 <td class="md" nowrap valign="top"><a class="el" href="xed-flag-action-enum_8h.html#773a73e698efc788d2e9e7cf908ba147">xed_flag_action_enum_t</a> </td>
314 <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
315 <td class="md" valign="top"> ) </td>
316 <td class="md" nowrap></td>
322 <table cellspacing="5" cellpadding="0" border="0">
330 test to see if the specific action is a read
335 <a class="anchor" name="g08e4a4c4eea80dc85f569ca1a4b7f614"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_read_flag" ref="g08e4a4c4eea80dc85f569ca1a4b7f614" args="(const xed_flag_action_t *p)" --><p>
336 <table class="mdTable" cellpadding="2" cellspacing="0">
339 <table cellpadding="0" cellspacing="0" border="0">
341 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_flag_action_read_flag </td>
342 <td class="md" valign="top">( </td>
343 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> * </td>
344 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
345 <td class="md" valign="top"> ) </td>
346 <td class="md" nowrap></td>
352 <table cellspacing="5" cellpadding="0" border="0">
360 returns true if either action is a read
365 <a class="anchor" name="g93ce4bd708adffe1ec0c5c3a884802cc"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_write_action" ref="g93ce4bd708adffe1ec0c5c3a884802cc" args="(xed_flag_action_enum_t a)" --><p>
366 <table class="mdTable" cellpadding="2" cellspacing="0">
369 <table cellpadding="0" cellspacing="0" border="0">
371 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_flag_action_write_action </td>
372 <td class="md" valign="top">( </td>
373 <td class="md" nowrap valign="top"><a class="el" href="xed-flag-action-enum_8h.html#773a73e698efc788d2e9e7cf908ba147">xed_flag_action_enum_t</a> </td>
374 <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
375 <td class="md" valign="top"> ) </td>
376 <td class="md" nowrap></td>
382 <table cellspacing="5" cellpadding="0" border="0">
390 test to see if a specific action is a write
395 <a class="anchor" name="ge17824babf697205b4ec3ea1547e6f95"></a><!-- doxytag: member="xed-flags.h::xed_flag_action_writes_flag" ref="ge17824babf697205b4ec3ea1547e6f95" args="(const xed_flag_action_t *p)" --><p>
396 <table class="mdTable" cellpadding="2" cellspacing="0">
399 <table cellpadding="0" cellspacing="0" border="0">
401 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_flag_action_writes_flag </td>
402 <td class="md" valign="top">( </td>
403 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a> * </td>
404 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
405 <td class="md" valign="top"> ) </td>
406 <td class="md" nowrap></td>
412 <table cellspacing="5" cellpadding="0" border="0">
420 returns true if either action is a write
425 <a class="anchor" name="g1beb49469f104f6e92147b0522fb7cc0"></a><!-- doxytag: member="xed-flags.h::xed_flag_set_is_subset_of" ref="g1beb49469f104f6e92147b0522fb7cc0" args="(const xed_flag_set_t *p, const xed_flag_set_t *other)" --><p>
426 <table class="mdTable" cellpadding="2" cellspacing="0">
429 <table cellpadding="0" cellspacing="0" border="0">
431 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_flag_set_is_subset_of </td>
432 <td class="md" valign="top">( </td>
433 <td class="md" nowrap valign="top">const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> * </td>
434 <td class="mdname" nowrap> <em>p</em>, </td>
437 <td class="md" nowrap align="right"></td>
439 <td class="md" nowrap>const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> * </td>
440 <td class="mdname" nowrap> <em>other</em></td>
444 <td class="md">) </td>
445 <td class="md" colspan="2"></td>
451 <table cellspacing="5" cellpadding="0" border="0">
459 returns true if this object has a subset of the flags of the "other" object.
464 <a class="anchor" name="g7f7a68d1f3d02a08b60205a96e025bb2"></a><!-- doxytag: member="xed-flags.h::xed_flag_set_print" ref="g7f7a68d1f3d02a08b60205a96e025bb2" args="(const xed_flag_set_t *p, char *buf, int buflen)" --><p>
465 <table class="mdTable" cellpadding="2" cellspacing="0">
468 <table cellpadding="0" cellspacing="0" border="0">
470 <td class="md" nowrap valign="top">XED_DLL_EXPORT int xed_flag_set_print </td>
471 <td class="md" valign="top">( </td>
472 <td class="md" nowrap valign="top">const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> * </td>
473 <td class="mdname" nowrap> <em>p</em>, </td>
476 <td class="md" nowrap align="right"></td>
478 <td class="md" nowrap>char * </td>
479 <td class="mdname" nowrap> <em>buf</em>, </td>
482 <td class="md" nowrap align="right"></td>
484 <td class="md" nowrap>int </td>
485 <td class="mdname" nowrap> <em>buflen</em></td>
489 <td class="md">) </td>
490 <td class="md" colspan="2"></td>
496 <table cellspacing="5" cellpadding="0" border="0">
504 print the flag set in the supplied buffer
509 <a class="anchor" name="g1db7706b1121de4f70e82fc85e3988c1"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_get_flag_action" ref="g1db7706b1121de4f70e82fc85e3988c1" args="(const xed_simple_flag_t *p, unsigned int i)" --><p>
510 <table class="mdTable" cellpadding="2" cellspacing="0">
513 <table cellpadding="0" cellspacing="0" border="0">
515 <td class="md" nowrap valign="top">XED_DLL_EXPORT const <a class="el" href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2">xed_flag_action_t</a>* xed_simple_flag_get_flag_action </td>
516 <td class="md" valign="top">( </td>
517 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
518 <td class="mdname" nowrap> <em>p</em>, </td>
521 <td class="md" nowrap align="right"></td>
523 <td class="md" nowrap>unsigned int </td>
524 <td class="mdname" nowrap> <em>i</em></td>
528 <td class="md">) </td>
529 <td class="md" colspan="2"></td>
535 <table cellspacing="5" cellpadding="0" border="0">
543 return the specific flag-action.
545 Very detailed low level information </td>
548 <a class="anchor" name="g7ef6569c3ed439bc8987307492a59281"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_get_may_write" ref="g7ef6569c3ed439bc8987307492a59281" args="(const xed_simple_flag_t *p)" --><p>
549 <table class="mdTable" cellpadding="2" cellspacing="0">
552 <table cellpadding="0" cellspacing="0" border="0">
554 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_simple_flag_get_may_write </td>
555 <td class="md" valign="top">( </td>
556 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
557 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
558 <td class="md" valign="top"> ) </td>
559 <td class="md" nowrap></td>
565 <table cellspacing="5" cellpadding="0" border="0">
573 Indicates the flags are only conditionally written.
575 Usally MAY-writes of the flags instructions that are dependent on a REP count. </td>
578 <a class="anchor" name="gb8e5992bf7dc342a056c4f57c80c01ed"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_get_must_write" ref="gb8e5992bf7dc342a056c4f57c80c01ed" args="(const xed_simple_flag_t *p)" --><p>
579 <table class="mdTable" cellpadding="2" cellspacing="0">
582 <table cellpadding="0" cellspacing="0" border="0">
584 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_simple_flag_get_must_write </td>
585 <td class="md" valign="top">( </td>
586 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
587 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
588 <td class="md" valign="top"> ) </td>
589 <td class="md" nowrap></td>
595 <table cellspacing="5" cellpadding="0" border="0">
603 the flags always written
608 <a class="anchor" name="g786dd6f5adb1f8d6aa47f53c1531473c"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_get_nflags" ref="g786dd6f5adb1f8d6aa47f53c1531473c" args="(const xed_simple_flag_t *p)" --><p>
609 <table class="mdTable" cellpadding="2" cellspacing="0">
612 <table cellpadding="0" cellspacing="0" border="0">
614 <td class="md" nowrap valign="top">XED_DLL_EXPORT unsigned int xed_simple_flag_get_nflags </td>
615 <td class="md" valign="top">( </td>
616 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
617 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
618 <td class="md" valign="top"> ) </td>
619 <td class="md" nowrap></td>
625 <table cellspacing="5" cellpadding="0" border="0">
633 returns the number of flag-actions
638 <a class="anchor" name="g0ae38bd952ce6da5eac4dac97c943caa"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_get_read_flag_set" ref="g0ae38bd952ce6da5eac4dac97c943caa" args="(const xed_simple_flag_t *p)" --><p>
639 <table class="mdTable" cellpadding="2" cellspacing="0">
642 <table cellpadding="0" cellspacing="0" border="0">
644 <td class="md" nowrap valign="top">XED_DLL_EXPORT const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a>* xed_simple_flag_get_read_flag_set </td>
645 <td class="md" valign="top">( </td>
646 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
647 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
648 <td class="md" valign="top"> ) </td>
649 <td class="md" nowrap></td>
655 <table cellspacing="5" cellpadding="0" border="0">
663 return union of bits for read flags
668 <a class="anchor" name="gfd8226ec18ea804e5abbe9e6fef0c526"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_get_written_flag_set" ref="gfd8226ec18ea804e5abbe9e6fef0c526" args="(const xed_simple_flag_t *p)" --><p>
669 <table class="mdTable" cellpadding="2" cellspacing="0">
672 <table cellpadding="0" cellspacing="0" border="0">
674 <td class="md" nowrap valign="top">XED_DLL_EXPORT const <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a>* xed_simple_flag_get_written_flag_set </td>
675 <td class="md" valign="top">( </td>
676 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
677 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
678 <td class="md" valign="top"> ) </td>
679 <td class="md" nowrap></td>
685 <table cellspacing="5" cellpadding="0" border="0">
693 return union of bits for written flags
698 <a class="anchor" name="gee816a433d9b1d87036165ac530c2a41"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_print" ref="gee816a433d9b1d87036165ac530c2a41" args="(const xed_simple_flag_t *p, char *buf, int buflen)" --><p>
699 <table class="mdTable" cellpadding="2" cellspacing="0">
702 <table cellpadding="0" cellspacing="0" border="0">
704 <td class="md" nowrap valign="top">XED_DLL_EXPORT int xed_simple_flag_print </td>
705 <td class="md" valign="top">( </td>
706 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
707 <td class="mdname" nowrap> <em>p</em>, </td>
710 <td class="md" nowrap align="right"></td>
712 <td class="md" nowrap>char * </td>
713 <td class="mdname" nowrap> <em>buf</em>, </td>
716 <td class="md" nowrap align="right"></td>
718 <td class="md" nowrap>int </td>
719 <td class="mdname" nowrap> <em>buflen</em></td>
723 <td class="md">) </td>
724 <td class="md" colspan="2"></td>
730 <table cellspacing="5" cellpadding="0" border="0">
743 <a class="anchor" name="g9aca7e505fe7962aa715528f32b18784"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_reads_flags" ref="g9aca7e505fe7962aa715528f32b18784" args="(const xed_simple_flag_t *p)" --><p>
744 <table class="mdTable" cellpadding="2" cellspacing="0">
747 <table cellpadding="0" cellspacing="0" border="0">
749 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_simple_flag_reads_flags </td>
750 <td class="md" valign="top">( </td>
751 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
752 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
753 <td class="md" valign="top"> ) </td>
754 <td class="md" nowrap></td>
760 <table cellspacing="5" cellpadding="0" border="0">
768 boolean test to see if flags are read, scans the flags
773 <a class="anchor" name="g6bf79b1d9e94986b06db3977172ceeff"></a><!-- doxytag: member="xed-flags.h::xed_simple_flag_writes_flags" ref="g6bf79b1d9e94986b06db3977172ceeff" args="(const xed_simple_flag_t *p)" --><p>
774 <table class="mdTable" cellpadding="2" cellspacing="0">
777 <table cellpadding="0" cellspacing="0" border="0">
779 <td class="md" nowrap valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> xed_simple_flag_writes_flags </td>
780 <td class="md" valign="top">( </td>
781 <td class="md" nowrap valign="top">const <a class="el" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a> * </td>
782 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
783 <td class="md" valign="top"> ) </td>
784 <td class="md" nowrap></td>
790 <table cellspacing="5" cellpadding="0" border="0">
798 boolean test to see if flags are written, scans the flags
803 <hr size="1"><address style="align: right;"><small>Generated on Thu May 15 03:15:09 2008 for XED2 by
804 <a href="http://www.doxygen.org/index.html">
805 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>