Start a section on access modes and cdio_get_args.
This commit is contained in:
@@ -2003,6 +2003,9 @@ image.
|
|||||||
|
|
||||||
@menu
|
@menu
|
||||||
* MMC:: ``SCSI'' Multimedia Commands (MMC)
|
* MMC:: ``SCSI'' Multimedia Commands (MMC)
|
||||||
|
* Access Modes:: Access Modes
|
||||||
|
* Accessing Driver Parameters:: Accessing Driver Parameters
|
||||||
|
|
||||||
* GNU/Linux:: GNU/Linux ioctl
|
* GNU/Linux:: GNU/Linux ioctl
|
||||||
* Microsoft:: Microsoft Windows ioctl and ASPI
|
* Microsoft:: Microsoft Windows ioctl and ASPI
|
||||||
* Solaris:: Solaris ATAPI and SCSI
|
* Solaris:: Solaris ATAPI and SCSI
|
||||||
@@ -2078,6 +2081,51 @@ alternative-size MMC commands. In @code{cdio/scsi-mmc.h} you will
|
|||||||
find a little bit of this for example via the routine
|
find a little bit of this for example via the routine
|
||||||
@code{scsi_mmc_get_drive_cap()}. However much more work is needed.
|
@code{scsi_mmc_get_drive_cap()}. However much more work is needed.
|
||||||
|
|
||||||
|
@node Access Modes
|
||||||
|
@section Access Modes
|
||||||
|
|
||||||
|
There are serveral ways that you can open a CD-ROM drive for
|
||||||
|
subsequent use. Each way is called an @emph{access
|
||||||
|
mode}. Historically libcdio only supported a reading kind of
|
||||||
|
access.
|
||||||
|
|
||||||
|
Adding the abilty to writing to a drive for ``burning'' is being added
|
||||||
|
by Thomas Schmitt, and this is accomplished by opening the drive in a
|
||||||
|
read-write mode. Currently writing modes are only supported via the
|
||||||
|
MMC command interface. Under this, one can get exclusive read-write
|
||||||
|
access or non-exclusive read-write access. The names of these two
|
||||||
|
modes are @code{MMC_RDWR_EXCL} and @code{MMC_RDWR} respectively.
|
||||||
|
|
||||||
|
On various OS's often there are two kinds of read modes that are
|
||||||
|
supported, one which uses MMC commands and one which uses some sort of
|
||||||
|
OS-specific native command interface. For example on Unix, there is
|
||||||
|
often a access mode associated with issuing an device-specific
|
||||||
|
@code{ioctl}'s that the OS supports.
|
||||||
|
|
||||||
|
To specify a particular kind of access mode, use @code{cdio_open_am}
|
||||||
|
which is like @code{cdio_open} but it requires one to specify an
|
||||||
|
access mode.
|
||||||
|
|
||||||
|
@node Accessing Driver Parameters
|
||||||
|
@section Accessing Driver Parameters --- @code{cdio_get_arg}
|
||||||
|
|
||||||
|
Once a driver is opened, you can use call @code{cdio_get_arg} to get
|
||||||
|
information about the driver. Each driver can have specific features
|
||||||
|
that can be queried, but there are features that are common to all
|
||||||
|
drivers. These are listed below:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
|
||||||
|
@item @code{access-mode}
|
||||||
|
This returns a string which is the name of the access mode in use.
|
||||||
|
@item @code{mmc-supported?}
|
||||||
|
This returns a string ``true'' or ``false'' depending whether the
|
||||||
|
driver with this access mode support MMC commands.
|
||||||
|
@item @code{scsi-tuple}
|
||||||
|
On drivers that support MMC commands, this returns the SCSI name or a
|
||||||
|
faked-up SCSI name that ripping front ends typically use.
|
||||||
|
@end table
|
||||||
|
|
||||||
@node GNU/Linux
|
@node GNU/Linux
|
||||||
@section GNU/Linux
|
@section GNU/Linux
|
||||||
|
|
||||||
@@ -2114,7 +2162,7 @@ There is currently only one CD drive access methods in Solaris: SCSI
|
|||||||
(called ``USCSI'' or ``user SCSI'' in Solaris). There used to be an
|
(called ``USCSI'' or ``user SCSI'' in Solaris). There used to be an
|
||||||
ATAPI method and it could be resurrected if needed. USCSI was
|
ATAPI method and it could be resurrected if needed. USCSI was
|
||||||
preferred since on newer releases of Solaris and Solaris environments
|
preferred since on newer releases of Solaris and Solaris environments
|
||||||
one would needs to have root access for ATAPI.
|
one needs to have root access for ATAPI.
|
||||||
|
|
||||||
@node FreeBSD
|
@node FreeBSD
|
||||||
@section FreeBSD ioctl and CAM
|
@section FreeBSD ioctl and CAM
|
||||||
|
|||||||
Reference in New Issue
Block a user