ROSE  0.11.98.0
BinaryAnalysis/Disassembler/BasicTypes.h
1 #ifndef ROSE_BinaryAnalysis_Disassembler_BasicTypes_H
2 #define ROSE_BinaryAnalysis_Disassembler_BasicTypes_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 
6 #include <Sawyer/SharedPointer.h>
7 
8 #include <string>
9 #include <vector>
10 
11 // Basic types needed by almost all other disassemblers
12 
13 namespace Rose {
14 namespace BinaryAnalysis {
15 namespace Disassembler {
16 
17 // Documented where they're defined
18 class Aarch32;
19 class Aarch64;
20 class Base;
21 class Exception;
22 class M68k;
23 class Mips;
24 class Null;
25 class Powerpc;
26 class X86;
27 
30 
33 
36 
39 
42 
45 
48 
51 
54 
56 void initDiagnostics();
57 
67 
79 
88 BasePtr lookup(const std::string&);
89 
96 std::vector<std::string> isaNames();
97 
111 void registerFactory(const BasePtr&);
112 
120 bool deregisterFactory(const BasePtr&);
121 
128 std::vector<BasePtr> registeredFactories();
129 
134 const std::string& name(const BasePtr&);
135 
136 } // namespace
137 } // namespace
138 } // namespace
139 #endif
140 #endif
std::vector< std::string > isaNames()
List of names recognized by lookup.
Collection of streams.
Definition: Message.h:1606
Main namespace for the ROSE library.
std::vector< BasePtr > registeredFactories()
Returns all registered disassembler factories.
void initDiagnostics()
Initializes and registers disassembler diagnostic streams.
Base class for container file headers.
bool deregisterFactory(const BasePtr &)
Remove a disassembler factory from the registry.
Binary analysis.
const std::string & name(const BasePtr &)
Disassembler name free function.
Sawyer::Message::Facility mlog
Disassembler diagnostic streams.
BasePtr lookup(SgAsmGenericHeader *)
Finds a suitable disassembler for a file header.
void registerFactory(const BasePtr &)
Append a disassembler factory to the registry.
Represents an interpretation of a binary container.