/* size should be a multiple of sector size */ int mass_stor_writeSector(mass_dev* mass_device, unsigned int sector, unsigned char* buffer, int size) { //assert(size % mass_device->sectorSize == 0); //assert(sector <= mass_device->maxLBA); int ret; ret = 1; while (ret != 0) { ret = cbw_scsi_write_sector(mass_device, sector, buffer, mass_device->sectorSize, size/mass_device->sectorSize); } return (size / mass_device->sectorSize) * mass_device->sectorSize; }
/* size should be a multiple of sector size */ int mass_stor_writeSector(mass_dev* mass_device, unsigned int sector, const unsigned char* buffer, unsigned short int count) { //assert(size % mass_device->sectorSize == 0); //assert(sector <= mass_device->maxLBA); int retries; for(retries = USB_IO_MAX_RETRIES; retries > 0; retries--){ if(cbw_scsi_write_sector(mass_device, sector, buffer, count) == 0){ return count; } } return -EIO; }