AppleRAIDEventSource.h [plain text]
#ifndef _APPLERAIDEVENTSOURCE_H
#define _APPLERAIDEVENTSOURCE_H
class AppleRAIDSet;
class AppleRAIDEventSource : public IOEventSource
{
OSDeclareDefaultStructors(AppleRAIDEventSource);
protected:
queue_head_t fCompletedHead;
virtual bool checkForWork(void);
public:
typedef void (*Action)(AppleRAIDSet * appleRAID, AppleRAIDStorageRequest * storageRequest);
static AppleRAIDEventSource * withAppleRAIDSet(AppleRAIDSet *appleRAID, Action action);
virtual bool initWithAppleRAIDSet(AppleRAIDSet *appleRAID, Action action);
virtual void completeRequest(AppleRAIDMemoryDescriptor * memoryDescriptor,
IOReturn status, UInt64 actualByteCount);
virtual void completeRequestLVG(AppleLVMMemoryDescriptor * memoryDescriptor,
IOReturn status, UInt64 actualByteCount);
virtual IOStorageCompletionAction getStorageCompletionAction(void);
virtual IOStorageCompletionAction getStorageCompletionActionLVG(void);
};
#endif