These commands are required for the "Disk-At-Once" write process:
WORMIOCREADSESSIONINFO returns the length of the lead-in and lead-out areas
and WORMIOCWRITESESSION is used to send the table of contents of the disk.
- remove all calls to scsi_stop_unit(). Some drives refuse commands when
stopped. This will fix the 'device not configured' message which was
cleared after opening/closing the tray.
- Never set the logical block address in the scsi_cmd struct when writing.
The computation was bogus for block sizes not a multiple of DEV_BSIZE.
(the bug is still there in the READ case)
- reset the block size to the 2048 bytes in finalize_track() track to avoid
an error when mounting a disk after an audio write.
- remove the WORMIOCQUIRKSELECT ioctl. Quirks are now recorded at probe time
(see scsiconf.c)
- change and expand the argument to the WORMIOCPREPTRACK ioctl. It now possible
to select more track options (copy bits, ISRC codes, track type,
track number)
- add an error handler to catch false errors (warnings in fact) and record
the error type.
- add an ioctl call (WORMIOERROR) to get more information on the nature of the
error when a command or a write failed.
- add an ioctl call (WORMIOCFINISHTRACK) to finalize a track without closing
the device (closing the device still finalize the track if the command was
not performed)
Approved by: joerg
emacs-style editing (which it used to have for a long time already).
Also mention the `gdb' and `help' commands. Other commands need an
overhaul, too (like the various `show' subcommands), but i don't feel
very competent for these.
- don't quote function names, since quoting them is unnecessary and
unusual and confuses my synopsis checker.
- include <sys/types.h> instead of <sys/param.h>. It is normal to
(have to) include <sys/param.h> instead of <sys/types.h>, but it
is more useful for man pages to document minimal prerequisites.
- don't declare nonexistent function sleep().
- don't include <sys/errno.h> explicitly.
sleep() should be nuked some more, e.g., this man page should not be
named after a nonexistent function.
NetBSD and then modified by me to reflect some FreeBSD specific
things and to clarify some other pointed based on some old mail
from Bruce Evans about this man page.