|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2021 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: #pragma once
8:
9: #include "autofd.h"
10: #include "diskimage.h"
11:
12: // ディスクイメージ (生イメージ形式)
1.1.1.2 ! root 13: class DiskImageRaw : public DiskImageDriver
1.1 root 14: {
1.1.1.2 ! root 15: using inherited = DiskImageDriver;
1.1 root 16: public:
17: DiskImageRaw(const std::string& pathname_);
18: virtual ~DiskImageRaw() override;
19:
1.1.1.2 ! root 20: bool GetInfo(off_t *, bool *) override;
1.1 root 21: bool Open(bool read_only) override;
22: void Close() override;
23: off_t GetSize() const override;
1.1.1.2 ! root 24: bool Read(void *buf, off_t offset, size_t size) override;
! 25: bool Write(const void *buf, off_t offset, size_t size) override;
1.1 root 26:
27: private:
28: autofd fd {};
1.1.1.2 ! root 29: off_t filesize {};
1.1 root 30: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.