IOCDBlockStorageDevice.h [plain text]
#ifndef _IOCDBLOCKSTORAGEDEVICE_H
#define _IOCDBLOCKSTORAGEDEVICE_H
#include <IOKit/storage/IOCDTypes.h>
#define kIOCDBlockStorageDeviceClass "IOCDBlockStorageDevice"
#ifdef KERNEL
#ifdef __cplusplus
#include <IOKit/storage/IOBlockStorageDevice.h>
#define kIOBlockStorageDeviceTypeCDROM "CDROM"
class IOCDBlockStorageDevice : public IOBlockStorageDevice {
OSDeclareAbstractStructors(IOCDBlockStorageDevice)
protected:
struct ExpansionData { };
ExpansionData * _expansionData;
public:
virtual bool init(OSDictionary * properties);
virtual IOReturn doAsyncReadCD(IOMemoryDescriptor *buffer,
UInt32 block,UInt32 nblks,
CDSectorArea sectorArea,
CDSectorType sectorType,
IOStorageCompletion completion) = 0;
virtual UInt32 getMediaType(void) = 0;
virtual IOReturn readISRC(UInt8 track,CDISRC isrc) = 0;
virtual IOReturn readMCN(CDMCN mcn) = 0;
virtual IOReturn readTOC(IOMemoryDescriptor *buffer) = 0;
virtual IOReturn getSpeed(UInt16 * kilobytesPerSecond) = 0;
virtual IOReturn setSpeed(UInt16 kilobytesPerSecond) = 0;
virtual IOReturn readTOC(IOMemoryDescriptor *buffer,CDTOCFormat format,
UInt8 msf,UInt8 trackSessionNumber,
UInt16 *actualByteCount) = 0;
virtual IOReturn readDiscInfo(IOMemoryDescriptor *buffer,
UInt16 *actualByteCount) = 0;
virtual IOReturn readTrackInfo(IOMemoryDescriptor *buffer,UInt32 address,
CDTrackInfoAddressType addressType,
UInt16 *actualByteCount) = 0;
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 0);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 1);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 2);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 3);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 4);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 5);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 6);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 7);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 8);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 9);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 10);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 11);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 12);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 13);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 14);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 15);
};
#endif
#endif
#endif