IOATAHDDriveNub.cpp [plain text]
#include <IOKit/IOLib.h>
#include <IOKit/storage/ata/IOATAHDDriveNub.h>
#include <IOKit/storage/ata/IOATAHDDrive.h>
#define super IOBlockStorageDevice
OSDefineMetaClassAndStructors( IOATAHDDriveNub, IOBlockStorageDevice )
bool IOATAHDDriveNub::attach(IOService * provider)
{
if (!super::attach(provider))
return false;
_provider = OSDynamicCast(IOATAHDDrive, provider);
if (_provider == 0) {
IOLog("IOATAHDDriveNub: attach; wrong provider type!\n");
return false;
}
return true;
}
void IOATAHDDriveNub::detach(IOService * provider)
{
if (_provider == provider)
_provider = 0;
super::detach(provider);
}
IOReturn IOATAHDDriveNub::doAsyncReadWrite(IOMemoryDescriptor * buffer,
UInt32 block,
UInt32 nblks,
IOStorageCompletion completion)
{
return _provider->doAsyncReadWrite(buffer, block, nblks, completion);
}
IOReturn IOATAHDDriveNub::doSyncReadWrite(IOMemoryDescriptor *buffer,
UInt32 block,UInt32 nblks)
{
return _provider->doSyncReadWrite(buffer, block, nblks);
}
IOReturn IOATAHDDriveNub::doEjectMedia()
{
return _provider->doEjectMedia();
}
IOReturn IOATAHDDriveNub::doFormatMedia(UInt64 byteCapacity)
{
return _provider->doFormatMedia(byteCapacity);
}
UInt32
IOATAHDDriveNub::doGetFormatCapacities(UInt64 * capacities,
UInt32 capacitiesMaxCount) const
{
return _provider->doGetFormatCapacities(capacities, capacitiesMaxCount);
}
IOReturn IOATAHDDriveNub::doLockUnlockMedia(bool doLock)
{
return _provider->doLockUnlockMedia(doLock);
}
IOReturn IOATAHDDriveNub::doSynchronizeCache()
{
return _provider->doSynchronizeCache();
}
char * IOATAHDDriveNub::getVendorString()
{
return _provider->getVendorString();
}
char * IOATAHDDriveNub::getProductString()
{
return _provider->getProductString();
}
char * IOATAHDDriveNub::getRevisionString()
{
return _provider->getRevisionString();
}
char * IOATAHDDriveNub::getAdditionalDeviceInfoString()
{
return _provider->getAdditionalDeviceInfoString();
}
IOReturn IOATAHDDriveNub::reportBlockSize(UInt64 * blockSize)
{
return _provider->reportBlockSize(blockSize);
}
IOReturn IOATAHDDriveNub::reportEjectability(bool * isEjectable)
{
return _provider->reportEjectability(isEjectable);
}
IOReturn IOATAHDDriveNub::reportLockability(bool * isLockable)
{
return _provider->reportLockability(isLockable);
}
IOReturn IOATAHDDriveNub::reportPollRequirements(bool * pollIsRequired,
bool * pollIsExpensive)
{
return _provider->reportPollRequirements(pollIsRequired, pollIsExpensive);
}
IOReturn IOATAHDDriveNub::reportMaxReadTransfer(UInt64 blockSize,
UInt64 * max)
{
return _provider->reportMaxReadTransfer(blockSize, max);
}
IOReturn IOATAHDDriveNub::reportMaxValidBlock(UInt64 * maxBlock)
{
return _provider->reportMaxValidBlock(maxBlock);
}
IOReturn IOATAHDDriveNub::reportMaxWriteTransfer(UInt64 blockSize,
UInt64 * max)
{
return _provider->reportMaxWriteTransfer(blockSize, max);
}
IOReturn IOATAHDDriveNub::reportMediaState(bool * mediaPresent,
bool * changed)
{
return _provider->reportMediaState(mediaPresent, changed);
}
IOReturn IOATAHDDriveNub::reportRemovability(bool * isRemovable)
{
return _provider->reportRemovability(isRemovable);
}
IOReturn IOATAHDDriveNub::reportWriteProtection(bool * isWriteProtected)
{
return _provider->reportWriteProtection(isWriteProtected);
}