mirror of
https://github.com/thewesker/RASCSI.git
synced 2025-12-20 12:21:10 -05:00
#27 Inquiry command is working
This commit is contained in:
@@ -275,10 +275,10 @@ void FASTCALL SCSIDEV::Execute()
|
|||||||
CmdRezero();
|
CmdRezero();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// // Nuvolink reset statistics
|
// Nuvolink reset statistics
|
||||||
// case eCmdResetStatistics:
|
case eCmdResetStatistics:
|
||||||
// CmdResetStatistics();
|
CmdResetStatistics();
|
||||||
// return;
|
return;
|
||||||
|
|
||||||
// REQUEST SENSE
|
// REQUEST SENSE
|
||||||
case eCmdRequestSense:
|
case eCmdRequestSense:
|
||||||
@@ -1150,19 +1150,33 @@ void FASTCALL SCSIDEV::CmdReadToc()
|
|||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
void FASTCALL SCSIDEV::CmdMediaSense(){
|
void FASTCALL SCSIDEV::CmdMediaSense(){
|
||||||
ASSERT(this);
|
ASSERT(this);
|
||||||
|
LOGTRACE("<%d> Received CmdMediaSense command for Nuvolink (%s)", this->GetID(), __PRETTY_FUNCTION__);
|
||||||
|
|
||||||
Status();
|
Status();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void FASTCALL SCSIDEV::CmdResetStatistics(){
|
||||||
|
DWORD lun;
|
||||||
|
|
||||||
|
ASSERT(this);
|
||||||
|
|
||||||
|
LOGTRACE("<%d> Received CmdResetStatistics command for Nuvolink (%s)", this->GetID(), __PRETTY_FUNCTION__);
|
||||||
|
|
||||||
|
Status();
|
||||||
|
}
|
||||||
|
|
||||||
void FASTCALL SCSIDEV::CmdSendPacket(){
|
void FASTCALL SCSIDEV::CmdSendPacket(){
|
||||||
|
|
||||||
ASSERT(this);
|
ASSERT(this);
|
||||||
|
LOGTRACE("<%d> Received CmdSendPacket command for Nuvolink (%s)", this->GetID(), __PRETTY_FUNCTION__);
|
||||||
|
|
||||||
Status();
|
Status();
|
||||||
}
|
}
|
||||||
void FASTCALL SCSIDEV::CmdChangeMacAddr(){
|
void FASTCALL SCSIDEV::CmdChangeMacAddr(){
|
||||||
|
|
||||||
ASSERT(this);
|
ASSERT(this);
|
||||||
|
LOGTRACE("<%d> Received CmdChangeMacAddr command for Nuvolink", this->GetID());
|
||||||
|
|
||||||
Status();
|
Status();
|
||||||
}
|
}
|
||||||
@@ -1171,6 +1185,7 @@ void SCSIDEV::FASTCALL CmdSetMcastReg(){
|
|||||||
DWORD lun;
|
DWORD lun;
|
||||||
|
|
||||||
ASSERT(this);
|
ASSERT(this);
|
||||||
|
LOGTRACE("<%d> Received CmdSetMcastReg command for Nuvolink", this->GetID());
|
||||||
|
|
||||||
Status();
|
Status();
|
||||||
}
|
}
|
||||||
@@ -1363,7 +1378,9 @@ void FASTCALL SCSIDEV::CmdGetMessage10()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Error if not a host bridge
|
// Error if not a host bridge
|
||||||
if (ctrl.unit[lun]->GetID() != MAKEID('S', 'C', 'B', 'R')) {
|
if ((ctrl.unit[lun]->GetID() != MAKEID('S', 'C', 'B', 'R')) &&
|
||||||
|
(ctrl.unit[lun]->GetID() != MAKEID('S', 'C', 'N', 'L'))){
|
||||||
|
LOGWARN("Received a GetMessage10 command for a non-bridge unit");
|
||||||
Error();
|
Error();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,11 @@ SCSINuvolink::SCSINuvolink() : Disk()
|
|||||||
// TAP Driver Generation
|
// TAP Driver Generation
|
||||||
tap = new CTapDriver();
|
tap = new CTapDriver();
|
||||||
m_bTapEnable = tap->Init();
|
m_bTapEnable = tap->Init();
|
||||||
|
if(!m_bTapEnable){
|
||||||
|
LOGERROR("Unable to open the TAP interface");
|
||||||
|
}else {
|
||||||
|
LOGINFO("Tap interface created")
|
||||||
|
}
|
||||||
|
|
||||||
// Generate MAC Address
|
// Generate MAC Address
|
||||||
memset(mac_addr, 0x00, 6);
|
memset(mac_addr, 0x00, 6);
|
||||||
@@ -61,6 +66,8 @@ SCSINuvolink::SCSINuvolink() : Disk()
|
|||||||
// Packet reception flag OFF
|
// Packet reception flag OFF
|
||||||
packet_enable = FALSE;
|
packet_enable = FALSE;
|
||||||
#endif // RASCSI && !BAREMETAL
|
#endif // RASCSI && !BAREMETAL
|
||||||
|
LOGTRACE("SCSINuvolink Constructor End");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -88,8 +95,8 @@ SCSINuvolink::~SCSINuvolink()
|
|||||||
int FASTCALL SCSINuvolink::Inquiry(
|
int FASTCALL SCSINuvolink::Inquiry(
|
||||||
const DWORD *cdb, BYTE *buf, DWORD major, DWORD minor)
|
const DWORD *cdb, BYTE *buf, DWORD major, DWORD minor)
|
||||||
{
|
{
|
||||||
char rev[32];
|
// char rev[32];
|
||||||
int size;
|
// int size;
|
||||||
WORD extended_size=0;
|
WORD extended_size=0;
|
||||||
DWORD junk_data=0;
|
DWORD junk_data=0;
|
||||||
WORD junk_data_word=0;
|
WORD junk_data_word=0;
|
||||||
@@ -144,8 +151,8 @@ int FASTCALL SCSINuvolink::Inquiry(
|
|||||||
buf[2] = 0x02;
|
buf[2] = 0x02;
|
||||||
/* SCSI 2 response type */
|
/* SCSI 2 response type */
|
||||||
buf[3] = 0x02;
|
buf[3] = 0x02;
|
||||||
/* No additional length */
|
/* Length will be 92 (96 - 4 byte header)*/
|
||||||
buf[4] = 0;
|
buf[4] = 92;
|
||||||
|
|
||||||
// Vendor name
|
// Vendor name
|
||||||
memcpy(&buf[8], m_vendor_name, strlen( m_vendor_name));
|
memcpy(&buf[8], m_vendor_name, strlen( m_vendor_name));
|
||||||
|
|||||||
Reference in New Issue
Block a user