--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>XED2: XED2 User Guide - Thu May 15 03:15:09 2008 </title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.6 -->
+<div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main Page</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="classes.html"><span>Data Structures</span></a></li>
+ <li id="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <form action="search.php" method="get">
+ <table cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td><label> <u>S</u>earch for </label></td>
+ <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
+ </tr>
+ </table>
+ </form>
+ </li>
+ </ul></div>
+<div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul></div>
+<h1>xed-flags.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+<dl compact><dt><b>Author:</b></dt><dd>Mark Charney <<a href="mailto:mark.charney@intel.com">mark.charney@intel.com</a>> </dd></dl>
+
+<p>
+Definition in file <a class="el" href="xed-flags_8h-source.html">xed-flags.h</a>.
+<p>
+<code>#include "<a class="el" href="xed-types_8h-source.html">xed-types.h</a>"</code><br>
+<code>#include "<a class="el" href="xed-flag-enum_8h-source.html">xed-flag-enum.h</a>"</code><br>
+<code>#include "<a class="el" href="xed-flag-action-enum_8h-source.html">xed-flag-action-enum.h</a>"</code><br>
+
+<p>
+<a href="xed-flags_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
+<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>
+
+<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>
+<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>
+
+<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>
+<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>
+
+<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>
+<tr><td colspan="2"><br><h2>Lowest-level flag-action accessors</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if the specified action is invalid. <a href="group__FLAGS.html#g21cc087c3f007cc0944c7acf286f504c"></a><br></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">return the action <a href="group__FLAGS.html#g80abcc15e609878f1daaac1b988fc0fe"></a><br></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">get the name of the flag <a href="group__FLAGS.html#gbbffcc50db4e54b40a57a5427320c2a9"></a><br></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">print the flag & actions <a href="group__FLAGS.html#gabc09792128a39245636f4b0aab77f42"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">test to see if the specific action is a read <a href="group__FLAGS.html#g8be4c3f2c1860838463073f8cccb9e02"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if either action is a read <a href="group__FLAGS.html#g08e4a4c4eea80dc85f569ca1a4b7f614"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">test to see if a specific action is a write <a href="group__FLAGS.html#g93ce4bd708adffe1ec0c5c3a884802cc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if either action is a write <a href="group__FLAGS.html#ge17824babf697205b4ec3ea1547e6f95"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Flag-set accessors</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<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="group__FLAGS.html#g1beb49469f104f6e92147b0522fb7cc0"></a><br></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">print the flag set in the supplied buffer <a href="group__FLAGS.html#g7f7a68d1f3d02a08b60205a96e025bb2"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Accessing the simple flags (Mid-level access)</h2></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">return the specific flag-action. <a href="group__FLAGS.html#g1db7706b1121de4f70e82fc85e3988c1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Indicates the flags are only conditionally written. <a href="group__FLAGS.html#g7ef6569c3ed439bc8987307492a59281"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">the flags always written <a href="group__FLAGS.html#gb8e5992bf7dc342a056c4f57c80c01ed"></a><br></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">returns the number of flag-actions <a href="group__FLAGS.html#g786dd6f5adb1f8d6aa47f53c1531473c"></a><br></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">return union of bits for read flags <a href="group__FLAGS.html#g0ae38bd952ce6da5eac4dac97c943caa"></a><br></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">return union of bits for written flags <a href="group__FLAGS.html#gfd8226ec18ea804e5abbe9e6fef0c526"></a><br></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">print the flags <a href="group__FLAGS.html#gee816a433d9b1d87036165ac530c2a41"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">boolean test to see if flags are read, scans the flags <a href="group__FLAGS.html#g9aca7e505fe7962aa715528f32b18784"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> </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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">boolean test to see if flags are written, scans the flags <a href="group__FLAGS.html#g6bf79b1d9e94986b06db3977172ceeff"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-flags_8h.html#71b997793db2e97d6ca6a592d833707d">XED_MAX_FLAG_ACTIONS</a> (XED_FLAG_LAST + 3)</td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<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>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Associated with each flag field there can be one action. <a href="group__FLAGS.html#g9a54b90e10974a59ee94c57d364254d2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-flags_8h.html#f3e34e5a4ce4fd34c47599c63314ce66">xed_flag_set_t</a></td></tr>
+
+<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>
+
+<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="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10"></a><br></td></tr>
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="71b997793db2e97d6ca6a592d833707d"></a><!-- doxytag: member="xed-flags.h::XED_MAX_FLAG_ACTIONS" ref="71b997793db2e97d6ca6a592d833707d" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">#define XED_MAX_FLAG_ACTIONS (XED_FLAG_LAST + 3) </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="xed-flags_8h-source.html#l00141">141</a> of file <a class="el" href="xed-flags_8h-source.html">xed-flags.h</a>. </td>
+ </tr>
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="f3e34e5a4ce4fd34c47599c63314ce66"></a><!-- doxytag: member="xed-flags.h::xed_flag_set_t" ref="f3e34e5a4ce4fd34c47599c63314ce66" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">typedef union <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_s</a> <a class="el" href="unionxed__flag__set__s.html">xed_flag_set_t</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="xed-flags_8h-source.html#l00074">74</a> of file <a class="el" href="xed-flags_8h-source.html">xed-flags.h</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu May 15 03:15:09 2008 for XED2 by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
+</body>
+</html>