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;
Definition: singleton.h:42