00001 #ifndef ROSE_BINARYLOADERPE_H
00002 #define ROSE_BINARYLOADERPE_H
00003
00004 #include "BinaryLoader.h"
00005
00006 class BinaryLoaderPe: public BinaryLoader {
00007 public:
00008 BinaryLoaderPe() {}
00009
00010 BinaryLoaderPe(const BinaryLoaderPe &other)
00011 : BinaryLoader(other)
00012 {}
00013
00014 virtual ~BinaryLoaderPe() {}
00015
00016
00017 public:
00018 virtual BinaryLoaderPe *clone() const {
00019 return new BinaryLoaderPe(*this);
00020 }
00021
00022 virtual bool can_load(SgAsmGenericHeader*) const;
00023
00025 virtual SgAsmGenericSectionPtrList get_remap_sections(SgAsmGenericHeader*);
00026
00028 virtual MappingContribution align_values(SgAsmGenericSection*, MemoryMap*,
00029 rose_addr_t *malign_lo, rose_addr_t *malign_hi,
00030 rose_addr_t *va, rose_addr_t *mem_size,
00031 rose_addr_t *offset, rose_addr_t *file_size, bool *map_private,
00032 rose_addr_t *va_offset, bool *anon_lo, bool *anon_hi,
00033 ConflictResolution *resolve);
00034 };
00035
00036 #endif