Implement B_EJECT_DEVICE and B_LOAD_MEDIA through the START_STOP_UNIT SCSI

command.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25955 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz 2008-06-14 20:51:55 +00:00
parent 6309b004c6
commit 50320b5500
2 changed files with 9 additions and 0 deletions

View File

@ -840,6 +840,14 @@ usb_disk_ioctl(void *cookie, uint32 op, void *buffer, size_t length)
usb_disk_synchronize(lun, true);
break;
case B_EJECT_DEVICE:
return usb_disk_operation(lun, SCSI_START_STOP_UNIT_6, 6, 0, 2,
NULL, NULL, false);
case B_LOAD_MEDIA:
return usb_disk_operation(lun, SCSI_START_STOP_UNIT_6, 6, 0, 3,
NULL, NULL, false);
default:
TRACE_ALWAYS("unhandled ioctl %ld\n", op);
break;

View File

@ -13,6 +13,7 @@ typedef enum {
SCSI_TEST_UNIT_READY_6 = 0x00,
SCSI_REQUEST_SENSE_6 = 0x03,
SCSI_INQUIRY_6 = 0x12,
SCSI_START_STOP_UNIT_6 = 0x1b,
SCSI_READ_CAPACITY_10 = 0x25,
SCSI_READ_10 = 0x28,
SCSI_WRITE_10 = 0x2a,