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().