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

ht_reloc_file Class Reference

#include <relfile.h>

Inheritance diagram for ht_reloc_file:

ht_layer_streamfile ht_streamfile ht_stream ht_elf32_reloc_file ht_le_reloc_file ht_ne_reloc_file ht_pef_reloc_file List of all members.

Public Member Functions

void init (ht_streamfile *streamfile, bool own_streamfile)
virtual void done ()
void finalize ()
void insert_reloc (FILEOFS o, Object *reloc)
virtual UINT read (void *buf, UINT size)
virtual int vcntl (UINT cmd, va_list vargs)
virtual UINT write (const void *buf, UINT size)

Protected Member Functions

virtual void reloc_apply (Object *reloc, byte *data)=0
virtual bool reloc_unapply (Object *reloc, byte *data)=0

Protected Attributes

ht_treerelocs
bool enabled

Member Function Documentation

void ht_reloc_file::done  )  [virtual]
 

Reimplemented from ht_layer_streamfile.

Definition at line 40 of file relfile.cc.

References ht_tree::destroy(), ht_layer_streamfile::done(), and relocs.

Referenced by ht_elf::auto_relocate32(), ht_le::done(), and ht_ne::init().

void ht_reloc_file::finalize  ) 
 

Definition at line 47 of file relfile.cc.

Referenced by ht_elf::auto_relocate32(), ht_le::do_fixups(), and ht_ne::init().

void ht_reloc_file::init ht_streamfile streamfile,
bool  own_streamfile
 

Reimplemented from ht_layer_streamfile.

Definition at line 31 of file relfile.cc.

References compare_keys_uint(), enabled, ht_stream::init(), and relocs.

void ht_reloc_file::insert_reloc FILEOFS  o,
Object reloc
 

Definition at line 68 of file relfile.cc.

References FILEOFS, ht_tree::insert(), and relocs.

Referenced by ht_le::do_fixups(), ht_elf::relocate_section(), and ht_ne::relocate_single().

UINT ht_reloc_file::read void *  buf,
UINT  size
[virtual]
 

Reimplemented from ht_layer_streamfile.

Definition at line 73 of file relfile.cc.

References assert, buf, byte, enabled, ht_tree::enum_next(), FILEOFS, MAX_RELOC_ITEM_LEN, MIN, NULL, ht_layer_streamfile::read(), reloc_apply(), relocs, size, ht_layer_streamfile::tell(), UINT, and ht_data_uint::value.

Referenced by ht_le::check_vxd().

virtual void ht_reloc_file::reloc_apply Object reloc,
byte *  data
[protected, pure virtual]
 

Implemented in ht_elf32_reloc_file, ht_le_reloc_file, ht_ne_reloc_file, and ht_pef_reloc_file.

Referenced by read().

virtual bool ht_reloc_file::reloc_unapply Object reloc,
byte *  data
[protected, pure virtual]
 

Implemented in ht_elf32_reloc_file, ht_le_reloc_file, ht_ne_reloc_file, and ht_pef_reloc_file.

Referenced by write().

int ht_reloc_file::vcntl UINT  cmd,
va_list  vargs
[virtual]
 

Reimplemented from ht_layer_streamfile.

Definition at line 52 of file relfile.cc.

References enabled, FCNTL_GET_RELOC, FCNTL_SET_RELOC, UINT, and ht_layer_streamfile::vcntl().

UINT ht_reloc_file::write const void *  buf,
UINT  size
[virtual]
 

Reimplemented from ht_layer_streamfile.

Definition at line 130 of file relfile.cc.

References assert, buf, byte, enabled, ht_tree::enum_next(), FILEOFS, MAX_RELOC_ITEM_LEN, MIN, NULL, reloc_unapply(), relocs, size, ht_layer_streamfile::tell(), UINT, ht_data_uint::value, and ht_layer_streamfile::write().


Member Data Documentation

bool ht_reloc_file::enabled [protected]
 

Definition at line 34 of file relfile.h.

Referenced by init(), read(), vcntl(), and write().

ht_tree* ht_reloc_file::relocs [protected]
 

Definition at line 33 of file relfile.h.

Referenced by done(), init(), insert_reloc(), read(), and write().


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