diff options
Diffstat (limited to 'src/dev/disk_image.hh')
-rw-r--r-- | src/dev/disk_image.hh | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/dev/disk_image.hh b/src/dev/disk_image.hh index 1b846522f..905879248 100644 --- a/src/dev/disk_image.hh +++ b/src/dev/disk_image.hh @@ -58,10 +58,12 @@ class DiskImage : public SimObject DiskImage(const Params *p) : SimObject(p), initialized(false) {} virtual ~DiskImage() {} - virtual off_t size() const = 0; + virtual std::streampos size() const = 0; - virtual off_t read(uint8_t *data, off_t offset) const = 0; - virtual off_t write(const uint8_t *data, off_t offset) = 0; + virtual std::streampos read(uint8_t *data, + std::streampos offset) const = 0; + virtual std::streampos write(const uint8_t *data, + std::streampos offset) = 0; }; /** @@ -73,7 +75,7 @@ class RawDiskImage : public DiskImage mutable std::fstream stream; std::string file; bool readonly; - mutable off_t disk_size; + mutable std::streampos disk_size; public: typedef RawDiskImageParams Params; @@ -83,10 +85,10 @@ class RawDiskImage : public DiskImage void close(); void open(const std::string &filename, bool rd_only = false); - virtual off_t size() const; + virtual std::streampos size() const; - virtual off_t read(uint8_t *data, off_t offset) const; - virtual off_t write(const uint8_t *data, off_t offset); + virtual std::streampos read(uint8_t *data, std::streampos offset) const; + virtual std::streampos write(const uint8_t *data, std::streampos offset); }; /** @@ -129,10 +131,10 @@ class CowDiskImage : public DiskImage void serialize(std::ostream &os); void unserialize(Checkpoint *cp, const std::string §ion); - virtual off_t size() const; + virtual std::streampos size() const; - virtual off_t read(uint8_t *data, off_t offset) const; - virtual off_t write(const uint8_t *data, off_t offset); + virtual std::streampos read(uint8_t *data, std::streampos offset) const; + virtual std::streampos write(const uint8_t *data, std::streampos offset); }; #endif // __DISK_IMAGE_HH__ |