ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference
|
IODVDBlockStorageDriver |
Inherits from: |
IOCDBlockStorageDriver
|
Declared In: |
Generic DVD Driver.
Storage drivers are split into two parts: the Generic Driver handles all generic device issues, independent of the lower-level transport mechanism (e.g. SCSI, ATA, USB, FireWire). All storage operations at the Generic Driver level are translated into a series of generic device operations. These operations are passed via the Device Nub to a Transport Driver, which implements the appropriate transport-dependent protocol to execute these operations.
To determine the write-protect state of a device (or media), for example, the generic driver would issue a call to the Transport Driver's reportWriteProtection method. If this were a SCSI device, its Transport Driver would issue a Mode Sense command to extract the write-protection status bit. The Transport Driver then reports true or false to the generic driver.
The generic driver therefore has no knowledge of, or involvement with, the actual commands and mechanisms used to communicate with the device. It is expected that the generic driver will rarely, if ever, need to be subclassed to handle device idiosyncrasies; rather, the Transport Driver should be changed via overrides.
A generic driver could be subclassed to create a different type of generic device. The generic driver IODVDBlockStorageDriver class is a subclass of IOCDBlockStorageDriver, adding DVD functions. Similarly, the Transport Driver IODVDBlockStorageDevice is a subclass of IOCDBlockStorageDevice, adding DVD functions.
Get control structures from the DVD media.
Get key info from the DVD drive.
Send key info to the DVD drive.
readStructure |
Get control structures from the DVD media.
public
virtual IOReturn readStructure( IOMemoryDescriptor *buffer, const DVDStructureFormat format, const UInt32 address, const UInt8 layer, const UInt8 agid);
buffer
A buffer containing information, as documented in the specification "MtFuji Commands For Multimedia Devices."
format
As documented by MtFuji. See DVDStructureFormat.
address
As documented by MtFuji.
layer
As documented by MtFuji.
agid
As documented by MtFuji.
This function handles the getting of control structure data for the media.
reportKey |
Get key info from the DVD drive.
public
virtual IOReturn reportKey( IOMemoryDescriptor *buffer, const DVDKeyClass keyClass, const UInt32 lba, const UInt8 agid, const DVDKeyFormat keyFormat);
buffer
A buffer containing information, as documented in the specification "MtFuji Commands For Multimedia Devices."
keyClass
As documented by MtFuji. See DVDKeyClass.
lba
As documented by MtFuji.
agid
As documented by MtFuji.
keyFormat
As documented by MtFuji. See DVDKeyFormat.
This function handles the getting of key- and encryption-related data for the drive.
sendKey |
Send key info to the DVD drive.
public
virtual IOReturn sendKey( IOMemoryDescriptor *buffer, const DVDKeyClass keyClass, const UInt8 agid, const DVDKeyFormat keyFormat);
buffer
A buffer containing information, as documented in the specification "MtFuji Commands For Multimedia Devices."
keyClass
As documented by MtFuji. See DVDKeyClass.
agid
As documented by MtFuji.
keyFormat
As documented by MtFuji. See DVDKeyFormat.
This function handles the setting of key- and encryption-related data for the drive.
|
Last Updated: 2008-12-19