<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>My Project: emulate.hh File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">My Project </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); </script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> </div> <div class="headertitle"> <div class="title">emulate.hh File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Classes for emulating p-code. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="memstate_8hh_source.html">memstate.hh</a>"</code><br /> <code>#include "<a class="el" href="translate_8hh_source.html">translate.hh</a>"</code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for emulate.hh:</div> <div class="dyncontent"> <div class="center"><img src="emulate_8hh__incl.png" border="0" usemap="#emulate_8hh" alt=""/></div> <map name="emulate_8hh" id="emulate_8hh"> <area shape="rect" id="node2" href="memstate_8hh.html" title="Classes for keeping track of memory state during emulation. " alt="" coords="497,80,596,107"/> <area shape="rect" id="node23" href="translate_8hh.html" title="Classes for disassembly and pcode generation. " alt="" coords="620,80,711,107"/> <area shape="rect" id="node3" href="pcoderaw_8hh.html" title="Raw descriptions of varnodes and p-code ops. " alt="" coords="575,155,671,181"/> <area shape="rect" id="node22" href="loadimage_8hh.html" title="Classes and API for accessing a binary load image. " alt="" coords="452,155,551,181"/> <area shape="rect" id="node4" href="address_8hh.html" title="Classes for specifying addresses and other low-level constants. " alt="" coords="465,229,551,256"/> <area shape="rect" id="node20" href="opbehavior_8hh.html" title="Classes for describing the behavior of individual p-code operations. " alt="" coords="570,304,673,331"/> <area shape="rect" id="node5" href="space_8hh.html" title="Classes for describing address spaces. " alt="" coords="471,304,545,331"/> <area shape="rect" id="node6" href="error_8hh.html" title="Base class for error handling facilities. " alt="" coords="475,379,541,405"/> <area shape="rect" id="node18" href="xml_8hh.html" title="Lightweight (and incomplete) XML parser for marshaling data to and from the decompiler. " alt="" coords="668,379,729,405"/> <area shape="rect" id="node7" href="types_8h_source.html" title="types.h" alt="" coords="742,453,807,480"/> <area shape="rect" id="node21" href="opcodes_8hh.html" title="All the individual p-code operations. " alt="" coords="835,379,925,405"/> <area shape="rect" id="node24" href="float_8hh.html" title="Support for decoding different floating-point formats. " alt="" coords="677,229,742,256"/> </map> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="emulate_8hh__dep__incl.png" border="0" usemap="#emulate_8hhdep" alt=""/></div> <map name="emulate_8hhdep" id="emulate_8hhdep"> <area shape="rect" id="node2" href="emulateutil_8hh.html" title="(Lightweight) emulation interface for executing PcodeOp objects within a syntax tree or for executing..." alt="" coords="816,80,919,107"/> <area shape="rect" id="node3" href="jumptable_8hh.html" title="Classes to support jump-tables and their recovery. " alt="" coords="777,155,873,181"/> <area shape="rect" id="node38" href="pcodeinject_8hh.html" title="Classes for managing p-code injection. " alt="" coords="2006,304,2113,331"/> <area shape="rect" id="node4" href="block_8hh.html" title="Classes related to basic blocks and control-flow structuring. " alt="" coords="517,229,588,256"/> <area shape="rect" id="node5" href="action_8hh.html" title="Action, Rule, and other associates classes supporting transformations on function data-flow..." alt="" coords="335,304,410,331"/> <area shape="rect" id="node37" href="heritage_8hh.html" title="Utilities for building Static Single Assignment (SSA) form. " alt="" coords="509,304,596,331"/> <area shape="rect" id="node6" href="architecture_8hh.html" title="Architecture and associated classes that help manage a single processor architecture and load image..." alt="" coords="1447,379,1555,405"/> <area shape="rect" id="node35" href="ruleaction_8hh.html" title="This is the basic set of transformation Rule objects. " alt="" coords="121,453,217,480"/> <area shape="rect" id="node36" href="blockaction_8hh.html" title="Actions and classes associated with transforming and structuring the control-flow graph..." alt="" coords="42,379,149,405"/> <area shape="rect" id="node7" href="funcdata_8hh.html" title="Utilities for processing data structures associated with a single function. " alt="" coords="507,453,598,480"/> <area shape="rect" id="node12" href="libdecomp_8hh_source.html" title="libdecomp.hh" alt="" coords="1158,677,1257,704"/> <area shape="rect" id="node22" href="sleigh__arch_8hh.html" title="Architecture objects that use a Translate object derived from Sleigh. " alt="" coords="1154,453,1261,480"/> <area shape="rect" id="node26" href="ghidra__arch_8hh.html" title="Ghidra specific architecture information and connection to a Ghidra client. " alt="" coords="1819,453,1926,480"/> <area shape="rect" id="node8" href="coreaction_8hh.html" title="Core decompilation actions which are indepedent of any particular architecture. " alt="" coords="5,528,105,555"/> <area shape="rect" id="node9" href="graph_8hh_source.html" title="graph.hh" alt="" coords="637,528,709,555"/> <area shape="rect" id="node13" href="grammar_8hh_source.html" title="grammar.hh" alt="" coords="733,528,823,555"/> <area shape="rect" id="node15" href="paramid_8hh_source.html" title="paramid.hh" alt="" coords="848,528,935,555"/> <area shape="rect" id="node16" href="condexe_8hh.html" title="Classes for simplifying control-flow with shared conditional expressions. " alt="" coords="232,528,321,555"/> <area shape="rect" id="node17" href="double_8hh_source.html" title="double.hh" alt="" coords="129,528,208,555"/> <area shape="rect" id="node18" href="subflow_8hh.html" title="Classes for reducing/splitting Varnodes containing smaller logical values. " alt="" coords="346,528,431,555"/> <area shape="rect" id="node19" href="flow_8hh.html" title="Utilities for following control-flow in p-code generated from machine instructions. " alt="" coords="455,528,519,555"/> <area shape="rect" id="node20" href="unify_8hh_source.html" title="unify.hh" alt="" coords="544,528,612,555"/> <area shape="rect" id="node10" href="ifacedecomp_8hh_source.html" title="ifacedecomp.hh" alt="" coords="778,603,893,629"/> <area shape="rect" id="node11" href="codedata_8hh_source.html" title="codedata.hh" alt="" coords="789,677,882,704"/> <area shape="rect" id="node14" href="ghidra__process_8hh.html" title="The formal commands that can be issued to the decompiler by the Ghidra client. " alt="" coords="1438,603,1566,629"/> <area shape="rect" id="node21" href="rulecompile_8hh_source.html" title="rulecompile.hh" alt="" coords="525,603,631,629"/> <area shape="rect" id="node23" href="bfd__arch_8hh.html" title="Specific implementation of Architecture using GNU BFD libraries. " alt="" coords="1245,528,1335,555"/> <area shape="rect" id="node24" href="raw__arch_8hh.html" title="Bare bones capability for treating a file as a raw executable image. " alt="" coords="959,528,1053,555"/> <area shape="rect" id="node25" href="xml__arch_8hh.html" title="Extension to read executables based on an XML format. " alt="" coords="1077,528,1170,555"/> <area shape="rect" id="node27" href="comment__ghidra_8hh.html" title="Obtain comments by talking to a Ghidra client. " alt="" coords="1882,528,2018,555"/> <area shape="rect" id="node28" href="cpool__ghidra_8hh.html" title="Utility for implementing a constant pool backed by a Ghidra client. " alt="" coords="2043,528,2156,555"/> <area shape="rect" id="node29" href="database__ghidra_8hh.html" title="Facilities for retrieving symbol information from a Ghidra client. " alt="" coords="2180,528,2315,555"/> <area shape="rect" id="node30" href="ghidra__context_8hh.html" title="Obtaining context information from a Ghidra client. " alt="" coords="2339,528,2465,555"/> <area shape="rect" id="node31" href="loadimage__ghidra_8hh.html" title="Use the Ghidra client as a load image. " alt="" coords="1359,528,1501,555"/> <area shape="rect" id="node32" href="ghidra__translate_8hh.html" title="Class for fetching p-code from a Ghidra client. " alt="" coords="1525,528,1657,555"/> <area shape="rect" id="node33" href="typegrp__ghidra_8hh.html" title="Interface for requesting data-type information from a Ghidra client. " alt="" coords="1733,528,1858,555"/> <area shape="rect" id="node34" href="inject__ghidra_8hh.html" title="P-code injection classes using a Ghidra client as the back-end for generating p-code. " alt="" coords="2489,528,2603,555"/> <area shape="rect" id="node39" href="inject__sleigh_8hh_source.html" title="inject_sleigh.hh" alt="" coords="2655,379,2767,405"/> </map> </div> </div> <p><a href="emulate_8hh_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classBreakTable.html">BreakTable</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A collection of breakpoints for the emulator. <a href="classBreakTable.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classBreakCallBack.html">BreakCallBack</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A breakpoint object. <a href="classBreakCallBack.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classBreakTableCallBack.html">BreakTableCallBack</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A basic instantiation of a breakpoint table. <a href="classBreakTableCallBack.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classEmulate.html">Emulate</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A pcode-based emulator interface. <a href="classEmulate.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classEmulateMemory.html">EmulateMemory</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An abstract <a class="el" href="classEmulate.html" title="A pcode-based emulator interface. ">Emulate</a> class using a <a class="el" href="classMemoryState.html" title="All storage/state for a pcode machine. ">MemoryState</a> object as the backing machine state. <a href="classEmulateMemory.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classPcodeEmitCache.html">PcodeEmitCache</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">P-code emitter that dumps its raw Varnodes and PcodeOps to an in memory cache. <a href="classPcodeEmitCache.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classEmulatePcodeCache.html">EmulatePcodeCache</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A SLEIGH based implementation of the <a class="el" href="classEmulate.html" title="A pcode-based emulator interface. ">Emulate</a> interface. <a href="classEmulatePcodeCache.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Classes for emulating p-code. </p> </div></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.13 </small></address> </body> </html>