maat::Symbol class

A class representing a symbol.

❱   Base classes

class Serializable
Virtual interface that serializable classes must implement.

❱   Public types

enum class Type { FUNCTION, DATA }
Type of symbol.

enum class FunctionStatus { EMULATED_RAW, EMULATED_IR, EMULATED_CALLBACK, MISSING, LOADED, USER_DEFINED, NONE }
Status of this function in the engine.

enum class DataStatus { EMULATED, MISSING, LOADED, USER_DEFINED, NONE }
Status of this data in the engine.

❱   Constructors, destructors, conversion operators

Symbol(FunctionStatus status, addr_t addr, const std::string& name, std::optional<Symbol::args_spec_t> args = std::nullopt, int env_lib_num = -1, int env_func_num = -1, size_t size = 0)
Create a function symbol.

Symbol(DataStatus status, addr_t addr, const std::string& name, size_t size = 0)
Create a data symbol.

❱   Public functions

auto class_uid() const -> serial::uid_t virtual
Return the class uid (see ClassId enum)

void dump(serial::Serializer&) const virtual
Dump the object contents in a serializer stream.

void load(serial::Deserializer&) virtual
Restore an object from a deserializer stream.

❱   Public variables

std::optional<Symbol::args_spec_t> args
Args for functions.

size_t size
Size for data.

❱   Enum documentation

enum class maat::Symbol::Type

Type of symbol.

Enumerators
FUNCTION

Function.

DATA

Data.

enum class maat::Symbol::FunctionStatus

Status of this function in the engine.

Enumerators
EMULATED_RAW

Emulated with raw assembly.

EMULATED_IR

Emulated with IR.

EMULATED_CALLBACK

Emulated with callback.

MISSING

Neither loaded nor emulated.

LOADED

Included in the loaded binary or a loaded library.

USER_DEFINED

Symbol added manually by the user.

NONE

enum class maat::Symbol::DataStatus

Status of this data in the engine.

Enumerators
EMULATED

Data was defined in an emulated library.

MISSING

Neither loaded nor emulated.

LOADED

Included in the loaded binary or a loaded library.

USER_DEFINED

Symbol added manually by the user.

NONE