Command Operation
-------- ----------
cmd_clear mark track buffer as invalid. forces the track to be
ETD_CLEAR re-read. ETD_CLEAR also checks for a diskchange.
cmd_read read one or more sectors from a disk. etd_read also
etd_read reads the sector label area and checks for a diskchange.
cmd_update write out track buffer if it has been changed. etd_update
ETD_UPDATE also checks for a diskchange.
cmd_write write one or more sectors to a disk. etd_write also
etd_write writes the sector label area and checks for a diskchange.
td_addchangeint add an interrupt handler to be activated on a diskchange.
td_changenum return the current value of the diskchange counter used
by the ETD commands to determine if a diskchange has
occurred.
td_changestate return the disk present/not-present status of a drive.
td_eject eject a disk from a drive. this command will only work
on drives that support an eject command (V36).
td_format initialize one or more tracks with a data buffer.
ETD_FORMAT ETD_FORMAT also initializes the sector label area.
td_getdrivetype return the type of disk drive in use by the unit.
td_getgeometry return the disk geometry table (v36).
td_getnumtracks return the number of tracks usable with the unit.
td_motor turn the motor on or off. etd_motor also checks for a
ETD_MOTOR diskchange.
td_protstatus return the write-protect status of a disk.
td_rawread read raw sector data from disk (unencoded mfm).
etd_rawread etd_rawread also checks for a diskchange.
td_rawwrite write raw sector data to disk. etd_rawwrite also checks
etd_rawwrite for a diskchange.
td_remchangeint remove a diskchange interrupt handler.
td_seek move the head to a specific track. etd_seek also checks
for a
etd_seek diskchange.
Exec Functions as Used in This Chapter
--------------------------------------
abortio() abort a command to the trackdisk device.
BeginIO() Initiate a command and return immediately (asynchronous
request).
closedevice() relinquish use of a disk unit.
doio() initiate a command and wait for completion (synchronous
request).
opendevice() obtain exclusive use of a particular disk unit.
Exec Support Functions as Used in This Chapter
----------------------------------------------
createextio() create an extended i/o request structure of type ioexttd.
This structure will be used to communicate commands to
the trackdisk device.
createport() create a signal message port for reply messages from the
trackdisk device. Exec will signal a task when a message
arrives at the reply port.
deleteextio() delete an i/o request structure created by createextio().
deleteport() delete the message port created by createport().