22 #ifndef SHORTS_SEGMENT_MANAGER_H 23 #define SHORTS_SEGMENT_MANAGER_H 25 #include "common/scummsys.h" 27 #if defined(DYNAMIC_MODULES) && defined(USE_ELF_LOADER) && defined(MIPS_TARGET) 29 #include "backends/plugins/elf/elf32.h" 31 #include "common/singleton.h" 32 #include "common/list.h" 34 #define ShortsMan ShortSegmentManager::instance() 57 char *getShortsStart() {
62 bool inGeneralSegment(
char *addr) {
63 return (addr >= _shortsStart && addr < _shortsEnd);
68 friend class ShortSegmentManager;
69 Segment(
char *start, uint32 size,
char *origAddr) :
72 _origAddress(origAddr) {
88 return (_startAddress + _size);
91 Elf32_Addr getOffset() {
92 return (Elf32_Addr)(_startAddress - _origAddress);
95 bool inSegment(
char *addr) {
96 return (addr >= _startAddress && addr <= _startAddress + _size);
100 Segment *newSegment(uint32 size,
char *origAddr);
101 void deleteSegment(Segment *);
104 ShortSegmentManager();
107 char *_highestAddress;
110 #endif // defined(DYNAMIC_MODULES) && defined(USE_ELF_LOADER) && defined(MIPS_TARGET)
Definition: singleton.h:42