+public:
+ /* methods available in Mac OS X 10.1 or later */
+
+/*! @function runAction
+ @abstract Single thread a call to an action with the work-loop.
+ @discussion Client function that causes the given action to be called in
+a single threaded manner. Beware the work-loop's gate is recursive and runAction
+ can cause direct or indirect re-entrancy. When the executing on a
+client's thread runAction will sleep until the work-loop's gate opens for
+execution of client actions, the action is single threaded against all other
+work-loop event sources.
+ @param action Pointer to function to be executed in work-loop context.
+ @param arg0 Parameter for action parameter, defaults to 0.
+ @param arg1 Parameter for action parameter, defaults to 0.
+ @param arg2 Parameter for action parameter, defaults to 0.
+ @param arg3 Parameter for action parameter, defaults to 0.
+ @result return value of the Action callout.
+*/
+ virtual IOReturn runAction(Action action, OSObject *target,
+ void *arg0 = 0, void *arg1 = 0,
+ void *arg2 = 0, void *arg3 = 0);
+
+protected:
+ OSMetaClassDeclareReservedUsed(IOWorkLoop, 0);
+