|
decompiler
1.0.0
|
Classes for describing and printing data-types. More...
#include "address.hh"Classes | |
| class | Datatype |
| The base datatype class for the decompiler. More... | |
| struct | TypeField |
| Specifies subfields of a structure or what a pointer points to. More... | |
| struct | DatatypeCompare |
| Compare two Datatype pointers for equivalence of their description. More... | |
| struct | DatatypeNameCompare |
| Compare two Datatype pointers: first by name, then by id. More... | |
| class | TypeBase |
| Base class for the fundamental atomic types. More... | |
| class | TypeChar |
| Base type for character data-types: i.e. char. More... | |
| class | TypeUnicode |
| The unicode data-type: i.e. wchar. More... | |
| class | TypeVoid |
| Formal "void" data-type object. More... | |
| class | TypePointer |
| Datatype object representing a pointer. More... | |
| class | TypeArray |
| Datatype object representing an array of elements. More... | |
| class | TypeEnum |
| An enumerated Datatype object: an integer with named values. More... | |
| class | TypeStruct |
| A composite Datatype object: A "structure" with component "fields". More... | |
| class | TypeCode |
| Datatype object representing executable code. More... | |
| class | TypeSpacebase |
| Special Datatype object used to describe pointers that index into the symbol table. More... | |
| class | TypeFactory |
| Container class for all Datatype objects in an Architecture. More... | |
Typedefs | |
| typedef set< Datatype *, DatatypeCompare > | DatatypeSet |
| A set of data-types sorted by function. | |
| typedef set< Datatype *, DatatypeNameCompare > | DatatypeNameSet |
| A set of data-types sorted by name. | |
Enumerations | |
| enum | type_metatype { TYPE_VOID = 10, TYPE_SPACEBASE = 9, TYPE_UNKNOWN = 8, TYPE_INT = 7, TYPE_UINT = 6, TYPE_BOOL = 5, TYPE_CODE = 4, TYPE_FLOAT = 3, TYPE_PTR = 2, TYPE_ARRAY = 1, TYPE_STRUCT = 0 } |
Functions | |
| void | print_data (ostream &s, uint1 *buffer, int4 size, const Address &baseaddr) |
| Print a hex dump of a data buffer to stream. More... | |
| void | metatype2string (type_metatype metatype, string &res) |
| Convert type meta-type to name. More... | |
| type_metatype | string2metatype (const string &metastring) |
| Convert string to type meta-type. More... | |
Classes for describing and printing data-types.
| enum type_metatype |
The core meta-types supported by the decompiler. These are sizeless templates for the elements making up the type algebra. Ordering is important: The lower the number, the more specific the type, in calculations involving the generality of a type.
| void metatype2string | ( | type_metatype | metatype, |
| string & | res | ||
| ) |
Convert type meta-type to name.
Convert a type meta-type into the string name of the meta-type
| metatype | is the encoded type meta-type |
| res | will hold the resulting string |
References TYPE_ARRAY, TYPE_BOOL, TYPE_CODE, TYPE_FLOAT, TYPE_INT, TYPE_PTR, TYPE_SPACEBASE, TYPE_STRUCT, TYPE_UINT, TYPE_UNKNOWN, and TYPE_VOID.
Referenced by Datatype::saveXmlBasic().
| void print_data | ( | ostream & | s, |
| uint1 * | buffer, | ||
| int4 | size, | ||
| const Address & | baseaddr | ||
| ) |
Print a hex dump of a data buffer to stream.
Display an array of bytes as a hex dump at a given address. Each line displays an address and 16 bytes in hexadecimal
| s | is the stream to write to |
| buffer | is a pointer to the bytes |
| size | is the number of bytes |
| baseaddr | is the address of the first byte in the buffer |
References Address::getOffset().
| type_metatype string2metatype | ( | const string & | metastring | ) |
Convert string to type meta-type.
Given a string description of a type meta-type. Return the meta-type.
| metastring | is the description of the meta-type |
References TYPE_ARRAY, TYPE_BOOL, TYPE_CODE, TYPE_FLOAT, TYPE_INT, TYPE_PTR, TYPE_SPACEBASE, TYPE_STRUCT, TYPE_UINT, TYPE_UNKNOWN, and TYPE_VOID.
Referenced by ParamEntry::restoreXml(), Datatype::restoreXmlBasic(), and TypeFactory::restoreXmlTypeNoRef().
1.8.11