- @abstract Factory function for IOInterruptEventSources creation and initialisation.
- @param owner Owning client of the new event source.
- @param action 'C' Function to call when something happens.
- @param provider IOService that represents the interrupt source. Defaults to 0. When no provider is defined the event source assumes that the client will in some manner call the interruptOccured method explicitly. This will start the ball rolling for safe delivery of asynchronous event's into the driver.
- @param intIndex The index of the interrupt within the provider's interrupt sources. Defaults to 0, i.e. the first interrupt in the provider.
- @result A new interrupt event source if successfully created and initialised, 0 otherwise. */
- static IOInterruptEventSource *
+ * @abstract Factory function for IOInterruptEventSources creation and initialisation.
+ * @param owner Owning client of the new event source.
+ * @param action 'C' Function to call when something happens.
+ * @param provider IOService that represents the interrupt source. Defaults to 0. When no provider is defined the event source assumes that the client will in some manner call the interruptOccured method explicitly. This will start the ball rolling for safe delivery of asynchronous event's into the driver.
+ * @param intIndex The index of the interrupt within the provider's interrupt sources. Defaults to 0, i.e. the first interrupt in the provider.
+ * @result A new interrupt event source if successfully created and initialised, 0 otherwise. */
+ static IOInterruptEventSource *
+ interruptEventSource(OSObject *owner,
+ Action action,
+ IOService *provider = 0,
+ int intIndex = 0);
+
+
+#ifdef __BLOCKS__
+/*! @function interruptEventSource
+ * @abstract Factory function for IOInterruptEventSources creation and initialisation.
+ * @param owner Owning client of the new event source.
+ * @param provider IOService that represents the interrupt source. When no provider is defined the event source assumes that the client will in some manner call the interruptOccured method explicitly. This will start the ball rolling for safe delivery of asynchronous event's into the driver.
+ * @param intIndex The index of the interrupt within the provider's interrupt sources.
+ * @param action Block for the callout routine of this event source..
+ * @result A new interrupt event source if successfully created and initialised, 0 otherwise. */
+ static IOInterruptEventSource *