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