X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/6d2010ae8f7a6078e10b361c6962983bab233e0f..04b8595b18b1b41ac7a206e4b3d51a635f8413d7:/iokit/IOKit/IOInterruptEventSource.h diff --git a/iokit/IOKit/IOInterruptEventSource.h b/iokit/IOKit/IOInterruptEventSource.h index 2e1a82765..553eb4104 100644 --- a/iokit/IOKit/IOInterruptEventSource.h +++ b/iokit/IOKit/IOInterruptEventSource.h @@ -1,5 +1,5 @@ /* - * 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@ * @@ -42,6 +42,8 @@ HISTORY 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. @@ -96,7 +98,9 @@ protected: /*! @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) */ @@ -203,6 +207,7 @@ state when checkForWork is called. */ private: IOReturn registerInterruptHandler(IOService *inProvider, int inIntIndex); + void unregisterInterruptHandler(IOService *inProvider, int inIntIndex); private: OSMetaClassDeclareReservedUnused(IOInterruptEventSource, 0);