RASCSI/cpp/devices/interfaces/scsi_block_commands.h

31 lines
707 B
C++

//---------------------------------------------------------------------------
//
// SCSI Target Emulator PiSCSI
// for Raspberry Pi
//
// Copyright (C) 2021-2022 Uwe Seimet
//
// Interface for SCSI block commands (see https://www.t10.org/drafts.htm, SBC-5)
//
//---------------------------------------------------------------------------
#pragma once
class ScsiBlockCommands
{
public:
ScsiBlockCommands() = default;
virtual ~ScsiBlockCommands() = default;
// Mandatory commands
virtual void FormatUnit() = 0;
virtual void ReadCapacity10() = 0;
virtual void ReadCapacity16() = 0;
virtual void Read10() = 0;
virtual void Read16() = 0;
virtual void Write10() = 0;
virtual void Write16() = 0;
};