You determine the drive type of a unit by passing an ioexttd to the device with td_getdrivetype set in io_command. for quick i/o, you must set io_Flags to IOF_QUICK. DiskIO->iotd_Req.io_Flags = IOF_QUICK; DiskIO->iotd_Req.io_Command = TD_GETDRIVETYPE; BeginIO((struct IORequest *)DiskIO); td_getdrivetype returns the drive type for the unit that was opened in io_Actual. The value will be DRIVE3_5 for 3.5" drives and DRIVE5_25 for 5.25" drives. The unit can be opened only if the device understands the drive type it is connected to.