IOUFIStorageServices.h [plain text]
#ifndef _IOKIT_UFI_STORAGE_SERVICES_H_
#define _IOKIT_UFI_STORAGE_SERVICES_H_
#if defined(KERNEL) && defined(__cplusplus)
#include <IOKit/IOTypes.h>
#include <IOKit/storage/IOBlockStorageDevice.h>
#include <IOKit/usb/IOUSBMassStorageUFISubclass.h>
class IOUFIStorageServices : public IOBlockStorageDevice
{
OSDeclareDefaultStructors ( IOUFIStorageServices )
private:
bool fMediaChanged;
bool fMediaPresent;
protected:
IOUSBMassStorageUFIDevice * fProvider;
UInt64 fMaxReadBlocks;
UInt64 fMaxWriteBlocks;
virtual bool attach ( IOService * provider ) APPLE_KEXT_OVERRIDE;
virtual void detach ( IOService * provider ) APPLE_KEXT_OVERRIDE;
struct IOUFIStorageServicesExpansionData { };
IOUFIStorageServicesExpansionData *fIOUFIStorageServicesReserved;
public:
virtual IOReturn message ( UInt32 type, IOService * provider, void * argument ) APPLE_KEXT_OVERRIDE;
static void AsyncReadWriteComplete ( void * clientData,
IOReturn status,
UInt64 actualByteCount );
virtual IOReturn doAsyncReadWrite ( IOMemoryDescriptor * buffer,
UInt32 block,
UInt32 nblks,
IOStorageCompletion completion );
virtual IOReturn doAsyncReadWrite ( IOMemoryDescriptor * buffer,
UInt64 block,
UInt64 nblks,
IOStorageAttributes * attributes,
IOStorageCompletion * completion ) APPLE_KEXT_OVERRIDE;
virtual IOReturn doSyncReadWrite ( IOMemoryDescriptor * buffer,
UInt32 block,
UInt32 nblks );
virtual IOReturn doEjectMedia ( void ) APPLE_KEXT_OVERRIDE;
virtual IOReturn doFormatMedia ( UInt64 byteCapacity ) APPLE_KEXT_OVERRIDE;
virtual UInt32 doGetFormatCapacities ( UInt64 * capacities,
UInt32 capacitiesMaxCount ) const APPLE_KEXT_OVERRIDE;
virtual IOReturn doSynchronizeCache ( void ) APPLE_KEXT_OVERRIDE;
virtual char * getVendorString ( void ) APPLE_KEXT_OVERRIDE;
virtual char * getProductString ( void ) APPLE_KEXT_OVERRIDE;
virtual char * getRevisionString ( void ) APPLE_KEXT_OVERRIDE;
virtual char * getAdditionalDeviceInfoString ( void ) APPLE_KEXT_OVERRIDE;
virtual IOReturn reportBlockSize ( UInt64 * blockSize ) APPLE_KEXT_OVERRIDE;
virtual IOReturn reportEjectability ( bool * isEjectable ) APPLE_KEXT_OVERRIDE;
virtual IOReturn reportMediaState ( bool * mediaPresent, bool * changed ) APPLE_KEXT_OVERRIDE;
virtual IOReturn reportMaxValidBlock ( UInt64 * maxBlock ) APPLE_KEXT_OVERRIDE;
virtual IOReturn reportRemovability ( bool * isRemovable ) APPLE_KEXT_OVERRIDE;
virtual IOReturn reportWriteProtection ( bool * isWriteProtected ) APPLE_KEXT_OVERRIDE;
virtual IOReturn getWriteCacheState ( bool * enabled ) APPLE_KEXT_OVERRIDE;
virtual IOReturn setWriteCacheState ( bool enabled ) APPLE_KEXT_OVERRIDE;
OSMetaClassDeclareReservedUnused( IOUFIStorageServices, 1 );
OSMetaClassDeclareReservedUnused( IOUFIStorageServices, 2 );
OSMetaClassDeclareReservedUnused( IOUFIStorageServices, 3 );
OSMetaClassDeclareReservedUnused( IOUFIStorageServices, 4 );
OSMetaClassDeclareReservedUnused( IOUFIStorageServices, 5 );
OSMetaClassDeclareReservedUnused( IOUFIStorageServices, 6 );
OSMetaClassDeclareReservedUnused( IOUFIStorageServices, 7 );
OSMetaClassDeclareReservedUnused( IOUFIStorageServices, 8 );
};
#endif
#endif