20 #ifndef SCSICONTROLLER_H 21 #define SCSICONTROLLER_H 23 #include "pedigree/kernel/compiler.h" 24 #include "pedigree/kernel/machine/Controller.h" 25 #include "pedigree/kernel/processor/types.h" 26 #include "pedigree/kernel/utilities/RequestQueue.h" 28 #define SCSI_REQUEST_READ 1 29 #define SCSI_REQUEST_WRITE 2 30 #define SCSI_REQUEST_SYNC 3 41 virtual bool sendCommand(
42 size_t nUnit, uintptr_t pCommand, uint8_t nCommandSize,
43 uintptr_t pRespBuffer, uint16_t nRespBytes,
bool bWrite) = 0;
46 uint64_t p1, uint64_t p2, uint64_t p3, uint64_t p4, uint64_t p5,
47 uint64_t p6, uint64_t p7, uint64_t p8);
50 virtual size_t getNumUnits() = 0;
virtual uint64_t executeRequest(uint64_t p1, uint64_t p2, uint64_t p3, uint64_t p4, uint64_t p5, uint64_t p6, uint64_t p7, uint64_t p8)=0