7 #ifndef OTAWA_LOADER_OLD_PROCESS_H
8 #define OTAWA_LOADER_OLD_PROCESS_H
14 namespace loader {
namespace old_gliss {
33 virtual void get(
Address at,
signed char& val);
34 virtual void get(
Address at,
unsigned char& val);
35 virtual void get(
Address at,
signed short& val);
36 virtual void get(
Address at,
unsigned short& val);
37 virtual void get(
Address at,
signed long& val);
38 virtual void get(
Address at,
unsigned long& val);
39 virtual void get(
Address at,
signed long long& val);
40 virtual void get(
Address at,
unsigned long long& val);
42 virtual void get(
Address at,
string& str);
53 virtual
void *
memory(
void) = 0;
virtual Loader * loader(void) const
Get the loader that has created this process.
Manager * manager(void)
Get the manager owning this process.
Definition: Process.h:143
int argc
Definition: Process.h:60
static const PropList EMPTY
This is an empty proplist for convenience.
Definition: PropList.h:66
Loader * _loader
Definition: Process.h:62
virtual void * memory(void)=0
virtual Inst * decode(address_t addr)=0
The manager class providesfacilities for storing, grouping and retrieving shared resources like loade...
Definition: Manager.h:58
In usual file format like ELF, COFF and so on, the program file is divided in segment according platf...
Definition: Segment.h:40
virtual void getAddresses(cstring file, int line, Vector< Pair< Address, Address > > &addresses)
Get the list of addresses implementing the given (source, line) pair.
virtual Option< Pair< cstring, int > > getSourceLine(Address addr)
Get the source file and the line matching the given address.
This class represents a file involved in the building of a process.
Definition: File.h:43
void * _state
Definition: Process.h:58
elm::StringBuffer buf
Definition: util_fft_lexer.cc:640
hard::Platform * _platform
Definition: Process.h:57
char ** argv
Definition: Process.h:61
A process is the realization of a program on a platform.
Definition: Process.h:136
virtual hard::Platform * platform(void)
Get the platform of the process.
The representation of an address in OTAWA.
Definition: base.h:54
void * state(void) const
Definition: Process.h:26
This interface is implemented by all objects that may build and provide a process.
Definition: Loader.h:31
Process(Manager *manager, Loader *loader, hard::Platform *platform, const PropList &props=PropList::EMPTY)
char ** envp
Definition: Process.h:61
virtual File * loadFile(elm::CString path)
Load an existing file.
This a list of properties.
Definition: PropList.h:63
virtual Inst * start(void)
Get the address of the first instruction of the program.
void * _memory
Definition: Process.h:59
Inst * _start
Definition: Process.h:56
This class is used to throw an exception when a process does not support an invoked feature...
Definition: Process.h:75