Autodocs Devices:
trackdisk.device CMD_CLEAR CMD_READ CMD_UPDATE CMD_WRITE TD_ADDCHANGEINT TD_CHANGENUM TD_CHANGESTATE TD_EJECT TD_FORMAT TD_GETDRIVETYPE TD_GETGEOMETRY TD_GETNUMTRACKS TD_MOTOR TD_PROTSTATUS TD_RAWREAD TD_RAWWRITE TD_REMCHANGEINT TD_SEEK Include GuruMeditation
|
Docs » Autodocs » trackdisk.device » CMD_READ
CMD_READ/ETD_READ -- read sectors of data from a disk.
These commands transfer data from the track buffer to a supplied buffer. If the desired sector is already in the track buffer, no disk activity is initiated. If the desired sector is not in the buffer, the track containing that sector is automatically read in. If the data in the current track buffer has been modified, it is written out to the disk before a new track is read. ETD_READ will read the sector label area if the iotd_SecLabel is non-NULL. IO REQUEST INPUT io_Device preset by the call to OpenDevice() io_Unit preset by the call to OpenDevice() io_Command CMD_READ or ETD_READ io_Flags 0 or IOF_QUICK io_Data pointer to the buffer where the data should be put io_Length number of bytes to read, must be a multiple of TD_SECTOR. io_Offset byte offset from the start of the disk describing where to read data from, must be a multiple of TD_SECTOR. iotd_Count (ETD_READ only) maximum allowable change counter value. iotd_SecLabel (ETD_READ only) NULL or sector label buffer pointer. If provided, the buffer must be a multiple of TD_LABELSIZE. IO REQUEST RESULT io_Error - 0 for success, or an error code as defined in <devices/trackdisk.h>
Under versions of Kickstart earlier than V36, the io_Data had to point to a buffer in chip memory. This restriction is no longer present as of Kickstart V36 and beyond.
CMD_WRITE()
|