/*
- * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1998-2014 Apple Computer, Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
class IOService;
+struct IOInterruptAccountingData;
+
/*! @class IOInterruptEventSource : public IOEventSource
@abstract Event source for interrupt delivery to work-loop based drivers.
@discussion The IOInterruptEventSource is a generic object that delivers calls interrupt routines in it's client in a guaranteed single-threaded manner. IOInterruptEventSource is part of the IOKit $link IOWorkLoop infrastructure where the semantic that one and only one action method is executing within a work-loops event chain.
/*! @struct ExpansionData
@discussion This structure will be used to expand the capablilties of the IOWorkLoop in the future.
*/
- struct ExpansionData { };
+ struct ExpansionData {
+ IOInterruptAccountingData * statistics;
+ };
/*! @var reserved
Reserved for future use. (Internal use only) */
private:
IOReturn registerInterruptHandler(IOService *inProvider, int inIntIndex);
+ void unregisterInterruptHandler(IOService *inProvider, int inIntIndex);
private:
OSMetaClassDeclareReservedUnused(IOInterruptEventSource, 0);