--- nono/vm/scsidev.h 2026/04/29 17:04:53 1.1.1.8 +++ nono/vm/scsidev.h 2026/04/29 17:04:56 1.1.1.9 @@ -31,8 +31,9 @@ class SCSICmd; // class SCSIDevice : public IODevice { + using inherited = IODevice; public: - SCSIDevice(); + SCSIDevice(const std::string& objname_); virtual ~SCSIDevice() override; // バスに接続 (SCSIBus::Attach から呼ばれる) @@ -123,8 +124,9 @@ class SCSIDevice : public IODevice // class SCSIHostDevice : public SCSIDevice { + using inherited = SCSIDevice; public: - SCSIHostDevice(); + SCSIHostDevice(const std::string& objname_); virtual ~SCSIHostDevice() override; bool Create() override; @@ -188,7 +190,8 @@ class SCSITarget : public SCSIDevice using inherited = SCSIDevice; friend class SCSICmdModeSelect6; public: - SCSITarget(SCSIHostDevice *h, int id, std::vector& inq); + SCSITarget(const std::string& objname_, + SCSIHostDevice *h, int id, std::vector& inq); virtual ~SCSITarget() override; bool PowerOn() override; @@ -288,6 +291,9 @@ class SCSIHD : public SCSITarget // ディスクイメージ長を取得 off_t GetSize() const { return file.GetMemSize(); } + // デバイスがライトプロテクトかどうかを返す + bool GetWriteProtect() const { return writeprotect; } + private: MappedFile file {}; uint8 *mem {};