Searched refs:IOWorkLoop (Results 1 - 25 of 27) sorted by relevance

12

/macosx-10.5.8/xnu-1228.15.4/iokit/IOKit/
H A DIOWorkLoop.h51 /*! @class IOWorkLoop
52 @discussion An IOWorkLoop is a thread of control that is intended to be used to provide single threaded access to hardware. This class has no knowledge of the nature and type of the events that it marshals and forwards. When a device driver successfully starts (see IOService::start), it is expected to create the event sources it will need to receive events. Then a work loop is initialized and the events are added to the work loop for monitoring. In general this set up will be automated by the family superclass of the specific device.
58 class IOWorkLoop : public OSObject class in inherits:OSObject
60 OSDeclareDefaultStructors(IOWorkLoop)
89 static void threadMainContinuation(IOWorkLoop *self);
102 This is a recursive lock, which allows multiple layers of code to share a single IOWorkLoop without deadlock. This is common in IOKit since threads of execution tend to follow the service plane in the IORegistry, and multiple objects along the call path may acquire the gate for the same (shared) workloop.
137 @discussion This structure will be used to expand the capablilties of the IOWorkLoop in the future.
179 static IOWorkLoop *workLoop();
186 static IOWorkLoop *workLoopWithOptions(IOOptionBits options);
275 OSMetaClassDeclareReservedUsed(IOWorkLoop,
[all...]
H A DIOCommandPool.h60 #include <IOKit/IOWorkLoop.h>
125 virtual bool initWithWorkLoop(IOWorkLoop *workLoop);
140 static IOCommandPool *withWorkLoop(IOWorkLoop *inWorkLoop);
147 IOWorkLoop *inWorkLoop,
155 IOWorkLoop *inWorkLoop,
H A DIOEventSource.h45 #include <IOKit/IOWorkLoop.h>
57 event sources must inherit from if an IOWorkLoop is to receive events from them.
72 The IOEventSource makes no attempt to maintain the consitency of it's internal data across multi-threading. It is assumed that the user of these basic tools will protect the data that these objects represent in some sort of device wide instance lock. For example the IOWorkLoop maintains the event chain by handing off change request to its own thread and thus single threading access to its state.
84 friend class IOWorkLoop;
120 IOWorkLoop *workLoop;
153 @abstract Pure Virtual member function used by IOWorkLoop for work
165 IOWorkLoop that at least reacts to signalWorkAvailable() and onThread functions.
167 virtual void setWorkLoop(IOWorkLoop *workLoop);
184 // Methods to access the IOWorkLoop exported fields
230 virtual IOWorkLoop *getWorkLoo
[all...]
H A DIOPMEventSource.h32 #include <IOKit/IOWorkLoop.h>
H A DIOServicePM.h45 class IOWorkLoop;
H A DIOTimerEventSource.h76 IOWorkLoop * workLoop;
102 virtual void setWorkLoop(IOWorkLoop *workLoop);
H A DIOCommandGate.h92 @discussion This structure will be used to expand the capablilties of the IOWorkLoop in the future.
121 virtual void setWorkLoop(IOWorkLoop *inWorkLoop);
207 @discussion When a command gate is disabled all future calls to runAction and runCommand will stall until the gate is enable()d later. This can be used to block client threads when a system sleep is requested. The IOWorkLoop thread itself will never stall, even when making runAction/runCommand calls. This call must be made from a gated context, to clear potential race conditions. */
H A DIOPlatformExpert.h271 IOWorkLoop *workLoop;
281 virtual IOWorkLoop *getWorkLoop() const;
H A DIOService.h847 virtual IOWorkLoop * getWorkLoop() const;
1507 virtual IOWorkLoop *getPMworkloop ( void );
/macosx-10.5.8/xnu-1228.15.4/iokit/Kernel/
H A DIOWorkLoop.cpp35 #include <IOKit/IOWorkLoop.h>
44 OSDefineMetaClassAndStructors(IOWorkLoop, OSObject);
47 OSMetaClassDefineReservedUsed(IOWorkLoop, 0);
48 OSMetaClassDefineReservedUsed(IOWorkLoop, 1);
50 OSMetaClassDefineReservedUnused(IOWorkLoop, 2);
51 OSMetaClassDefineReservedUnused(IOWorkLoop, 3);
52 OSMetaClassDefineReservedUnused(IOWorkLoop, 4);
53 OSMetaClassDefineReservedUnused(IOWorkLoop, 5);
54 OSMetaClassDefineReservedUnused(IOWorkLoop, 6);
55 OSMetaClassDefineReservedUnused(IOWorkLoop,
[all...]
H A DIOEventSource.cpp38 #include <IOKit/IOWorkLoop.h>
110 void IOEventSource::setWorkLoop(IOWorkLoop *inWorkLoop)
117 IOWorkLoop *IOEventSource::getWorkLoop() const
H A DIOCommandPool.cpp58 withWorkLoop(IOWorkLoop *inWorkLoop)
72 initWithWorkLoop(IOWorkLoop *inWorkLoop)
97 commandPool(IOService * inOwner, IOWorkLoop *inWorkLoop, UInt32 inSize)
110 init(IOService */* inOwner */, IOWorkLoop *inWorkLoop, UInt32 /* inSize */)
125 IOWorkLoop *wl = fSerializer->getWorkLoop();
H A DIOPMPowerStateQueue.h32 #include <IOKit/IOWorkLoop.h>
H A DIOTimerEventSource.cpp51 #include <IOKit/IOWorkLoop.h>
82 IOWorkLoop *
106 IOWorkLoop *
289 void IOTimerEventSource::setWorkLoop(IOWorkLoop *inWorkLoop)
H A DIOCommandGate.cpp31 #include <IOKit/IOWorkLoop.h>
91 /* virtual */ void IOCommandGate::setWorkLoop(IOWorkLoop *inWorkLoop)
H A DIOFilterInterruptEventSource.cpp38 #include <IOKit/IOWorkLoop.h>
H A DIOServicePrivate.h169 virtual IOWorkLoop * getWorkLoop( ) const;
H A DIOCommandQueue.cpp36 #include <IOKit/IOWorkLoop.h>
H A DIOInterruptEventSource.cpp40 #include <IOKit/IOWorkLoop.h>
H A DIOPlatformExpert.cpp40 #include <IOKit/IOWorkLoop.h>
1276 workLoop = IOWorkLoop::workLoop();
1290 IOWorkLoop *IOPlatformExpertDevice::getWorkLoop() const
H A DIOService.cpp45 #include <IOKit/IOWorkLoop.h>
738 IOWorkLoop * IOService::getWorkLoop() const
1618 inline void _workLoopAction( IOWorkLoop::Action action,
1623 IOWorkLoop * wl;
1972 _workLoopAction( (IOWorkLoop::Action) &actionWillTerminate,
1991 _workLoopAction( (IOWorkLoop::Action) &actionDidTerminate,
2005 _workLoopAction( (IOWorkLoop::Action) &actionFinalize,
2032 _workLoopAction( (IOWorkLoop::Action) &actionStop,
3787 IOWorkLoop * IOResources::getWorkLoop() const
H A DIOServicePM.cpp36 #include <IOKit/IOWorkLoop.h>
83 static IOWorkLoop * gIOPMWorkLoop = 0;
332 gIOPMWorkLoop = IOWorkLoop::workLoop();
2297 IOWorkLoop * IOService::getPMworkloop ( void )
2364 IOWorkLoop * wl = getPMworkloop();
4950 IOWorkLoop * workLoop = getPMworkloop ();
/macosx-10.5.8/xnu-1228.15.4/iokit/Tests/
H A DTests.h71 class IOWorkLoop;
82 IOWorkLoop *workLoop;
H A DTestDevice.cpp34 #include <IOKit/IOWorkLoop.h>
59 workLoop = IOWorkLoop::workLoop();
/macosx-10.5.8/xnu-1228.15.4/iokit/conf/
H A DMakefile.i38639 IOWorkLoop.cpo \

Completed in 120 milliseconds

12