Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

FLTAnalyser Class Reference

#include <flt_analy.h>

Inheritance diagram for FLTAnalyser:

Analyser Object List of all members.

Public Member Functions

void init (ht_flt_shared_data *flt_shared, ht_streamfile *File)
int load (ht_object_stream *f)
virtual void done ()
virtual OBJECT_ID object_id () const
virtual void beginAnalysis ()
virtual UINT bufPtr (Address *Addr, byte *buf, int size)
bool convertAddressToFLTAddress (Address *addr, FLTAddress *r)
virtual AddresscreateAddress ()
AddresscreateAddress32 (dword addr)
AddresscreateAddress64 (qword addr)
virtual AssemblercreateAssembler ()
virtual const char * getName ()
virtual const char * getType ()
virtual void initCodeAnalyser ()
virtual void initUnasm ()
virtual void log (const char *msg)
virtual AddressnextValid (Address *Addr)
virtual void store (ht_object_stream *f)
virtual int queryConfig (int mode)
virtual bool validAddress (Address *Addr, tsectype action)
virtual AddressfileofsToAddress (FILEOFS fileofs)
virtual FILEOFS addressToFileofs (Address *Addr)
virtual char * getSegmentNameByAddress (Address *Addr)

Public Attributes

ht_flt_shared_dataflt_shared
ht_streamfilefile
Areavalidarea

Member Function Documentation

FILEOFS FLTAnalyser::addressToFileofs Address Addr  )  [virtual]
 

Implements Analyser.

Definition at line 189 of file flt_analy.cc.

References convertAddressToFLTAddress(), FILEOFS, FLTAddress, INVALID_FILE_OFS, scinitialized, and validAddress().

Referenced by bufPtr().

void FLTAnalyser::beginAnalysis  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 59 of file flt_analy.cc.

References Area::add(), Analyser::addComment(), Analyser::assignSymbol(), Analyser::beginAnalysis(), ht_flt_shared_data::bss_end, ht_flt_shared_data::bss_start, ht_flt_shared_data::code_start, createAddress32(), ht_flt_shared_data::data_start, flat_hdr::entry, flt_shared, ht_flt_shared_data::header, label_func, Analyser::pushAddress(), scvalid, Analyser::setLocationTreeOptimizeThreshold(), Analyser::setSymbolTreeOptimizeThreshold(), validAddress(), and validarea.

UINT FLTAnalyser::bufPtr Address Addr,
byte *  buf,
int  size
[virtual]
 

Implements Analyser.

Definition at line 147 of file flt_analy.cc.

References addressToFileofs(), assert, buf, file, FILEOFS, INVALID_FILE_OFS, ht_stream::read(), ht_streamfile::seek(), size, and UINT.

bool FLTAnalyser::convertAddressToFLTAddress Address addr,
FLTAddress r
 

Definition at line 158 of file flt_analy.cc.

References ATOM_ADDRESS_FLAT_32, FLTAddress, and Object::object_id().

Referenced by addressToFileofs(), getSegmentNameByAddress(), and validAddress().

Address * FLTAnalyser::createAddress  )  [virtual]
 

Implements Analyser.

Definition at line 168 of file flt_analy.cc.

Address * FLTAnalyser::createAddress32 dword  addr  ) 
 

Definition at line 173 of file flt_analy.cc.

Referenced by beginAnalysis(), and fileofsToAddress().

Address* FLTAnalyser::createAddress64 qword  addr  ) 
 

Assembler * FLTAnalyser::createAssembler  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 181 of file flt_analy.cc.

References NULL.

void FLTAnalyser::done  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 132 of file flt_analy.cc.

References Analyser::done(), Area::done(), and validarea.

Address * FLTAnalyser::fileofsToAddress FILEOFS  fileofs  )  [virtual]
 

converts |FILEOFS fileaddr| to |Address|

Reimplemented from Analyser.

Definition at line 305 of file flt_analy.cc.

References ht_flt_shared_data::code_start, createAddress32(), ht_flt_shared_data::data_end, FILEOFS, flt_shared, and FLTAddress.

const char * FLTAnalyser::getName  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 225 of file flt_analy.cc.

References file, and ht_stream::get_desc().

char * FLTAnalyser::getSegmentNameByAddress Address Addr  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 203 of file flt_analy.cc.

References ht_flt_shared_data::bss_end, ht_flt_shared_data::bss_start, ht_flt_shared_data::code_start, convertAddressToFLTAddress(), ht_flt_shared_data::data_start, flt_shared, FLTAddress, and NULL.

const char * FLTAnalyser::getType  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 233 of file flt_analy.cc.

void FLTAnalyser::init ht_flt_shared_data flt_shared,
ht_streamfile File
 

Definition at line 48 of file flt_analy.cc.

References file, flt_shared, Analyser::init(), Area::init(), and validarea.

void FLTAnalyser::initCodeAnalyser  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 241 of file flt_analy.cc.

References Analyser::initCodeAnalyser().

void FLTAnalyser::initUnasm  )  [virtual]
 

Implements Analyser.

Definition at line 249 of file flt_analy.cc.

References DPRINTF, and NULL.

int FLTAnalyser::load ht_object_stream f  )  [virtual]
 

loads object from object stream.

Returns:
ht_stream errorcode

Reimplemented from Analyser.

Definition at line 123 of file flt_analy.cc.

References GET_OBJECT, Analyser::load(), and validarea.

void FLTAnalyser::log const char *  msg  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 260 of file flt_analy.cc.

Address * FLTAnalyser::nextValid Address Addr  )  [virtual]
 

Implements Analyser.

Definition at line 273 of file flt_analy.cc.

References Area::findNext(), and validarea.

OBJECT_ID FLTAnalyser::object_id  )  const [virtual]
 

Returns:
unique object id.

Reimplemented from Object.

Definition at line 139 of file flt_analy.cc.

References ATOM_FLT_ANALYSER.

int FLTAnalyser::queryConfig int  mode  )  [virtual]
 

Reimplemented from Analyser.

Definition at line 290 of file flt_analy.cc.

References Q_DO_ANALYSIS, Q_ENGAGE_CODE_ANALYSER, and Q_ENGAGE_DATA_ANALYSER.

void FLTAnalyser::store ht_object_stream f  )  [virtual]
 

stores object.

Reimplemented from Analyser.

Definition at line 281 of file flt_analy.cc.

References PUT_OBJECT, Analyser::store(), and validarea.

bool FLTAnalyser::validAddress Address Addr,
tsectype  action
[virtual]
 

Implements Analyser.

Definition at line 318 of file flt_analy.cc.

References ht_flt_shared_data::bss_end, ht_flt_shared_data::bss_start, ht_flt_shared_data::code_start, convertAddressToFLTAddress(), ht_flt_shared_data::data_start, flt_shared, FLTAddress, sccode, scinitialized, scread, screadwrite, scvalid, and scwrite.

Referenced by addressToFileofs(), and beginAnalysis().


Member Data Documentation

ht_streamfile* FLTAnalyser::file
 

Definition at line 33 of file flt_analy.h.

Referenced by bufPtr(), getName(), and init().

ht_flt_shared_data* FLTAnalyser::flt_shared
 

Definition at line 32 of file flt_analy.h.

Referenced by beginAnalysis(), fileofsToAddress(), getSegmentNameByAddress(), init(), and validAddress().

Area* FLTAnalyser::validarea
 

Definition at line 34 of file flt_analy.h.

Referenced by beginAnalysis(), done(), init(), load(), nextValid(), and store().


The documentation for this class was generated from the following files:
Generated on Fri May 7 21:15:56 2004 by doxygen 1.3.5