static int scsiDeviceDiskChanged(SCSIDEVICE* scsi) { FileProperties* pDisk; int changed = diskChanged(scsi->diskId); if (changed) { scsi->motor = 1; pDisk = &propGetGlobalProperties()->media.disks[scsi->diskId]; if (scsi->changeCheck2) { scsi->changeCheck2 = 0; if (scsi->inserted && (strcmp(scsi->disk.fileName, pDisk->fileName) == 0) && (strcmp(scsi->disk.fileNameInZip, pDisk->fileNameInZip) == 0)) { SCSILOG("Disk change invalidity\n\n"); return 0; } } scsi->changed = 1; scsi->disk = *pDisk; scsi->inserted = 1; SCSILOG1("hdd %d: disk change\n", scsi->scsiId); SCSILOG1("filename: %s\n", scsi->disk.fileName); SCSILOG1(" zip: %s\n", scsi->disk.fileNameInZip); } else { if (scsi->inserted & !diskPresent(scsi->diskId)) { scsi->inserted = 0; scsi->motor = 0; scsi->changed = 1; changed = 1; } } if (changed && (scsi->mode & MODE_UNITATTENTION)) { scsi->reset = 1; } return changed; }
int wd2793DiskChanged(WD2793* wd, int drive) { return diskChanged(drive); }