32 template<
typename Archive>
33 void serialize(Archive& ar,
unsigned version);
37 void reset()
override;
38 bool isSelected()
override;
39 [[nodiscard]]
unsigned executeCmd(std::span<const uint8_t, 12> cdb,
SCSI::Phase& phase,
40 unsigned& blocks)
override;
41 [[nodiscard]]
unsigned executingCmd(
SCSI::Phase& phase,
unsigned& blocks)
override;
42 [[nodiscard]] uint8_t getStatusCode()
override;
43 int msgOut(uint8_t value)
override;
44 uint8_t msgIn()
override;
45 void disconnect()
override;
46 void busReset()
override;
48 [[nodiscard]]
unsigned dataIn(
unsigned& blocks)
override;
49 [[nodiscard]]
unsigned dataOut(
unsigned& blocks)
override;
51 [[nodiscard]]
unsigned inquiry();
52 [[nodiscard]]
unsigned modeSense();
53 [[nodiscard]]
unsigned requestSense();
54 [[nodiscard]]
bool checkReadOnly();
55 [[nodiscard]]
unsigned readCapacity();
56 [[nodiscard]]
bool checkAddress();
57 [[nodiscard]]
unsigned readSectors(
unsigned& blocks);
58 [[nodiscard]]
unsigned writeSectors(
unsigned& blocks);
67 unsigned currentSector;
68 unsigned currentLength;
74 std::array<uint8_t, 12> cdb;
void serialize(Archive &ar, unsigned version)
SCSIHD & operator=(const SCSIHD &)=delete
~SCSIHD() override=default
SCSIHD(const SCSIHD &)=delete
SCSIHD & operator=(SCSIHD &&)=delete
This file implemented 3 utility functions: