Lines Matching refs:terminate

81     // options for terminate()
85 // options for registerService() & terminate()
322 @param options Options originally passed to terminate, plus <code>kIOServiceRecursing</code>.
331 @param options Options originally passed to terminate.
340 @param options Options originally passed to terminate.
545 /*! @function terminate
547 @discussion Registering an IOService object informs possible clients of its existance and instantiates drivers that may be used with it; <code>terminate</code> involves the opposite process of informing clients that an IOService object is no longer able to be used and will be destroyed. By default, if any client has the service open, <code>terminate</code> fails. If the <code>kIOServiceRequired</code> flag is passed however, <code>terminate</code> will be successful though further progress in the destruction of the IOService object will not proceed until the last client has closed it. The service will be made inactive immediately upon successful termination, and all its clients will be notified via their @link message message@/link method with a message of type <code>kIOMessageServiceIsTerminated</code>. Both these actions take place on the caller's thread. After the IOService object is made inactive, further matching or attach calls will fail on it. Each client has its @link stop stop@/link method called upon their close of an inactive IOService object , or on its termination if they do not have it open. After <code>stop</code>, @link detach detach@/link is called in each client. When all clients have been detached, the @link finalize finalize@/link method is called in the inactive service. The termination process is inherently asynchronous because it will be deferred until all clients have chosen to close.
548 @param options In most cases no options are needed. <code>kIOServiceSynchronous</code> may be passed to cause <code>terminate</code> to not return until the service is finalized. */
550 virtual bool terminate( IOOptionBits options = 0 );
555 @param options The options passed to the @link terminate terminate@/link method of the IOService object are passed on to <code>finalize</code>.
580 @discussion When an IOService object is made inactive the default behavior is to also make any of its clients that have it as their only provider inactive, in this way recursing the termination up the driver stack. This method allows a terminated IOService object to override this behavior. Note the client may also override this behavior by overriding its @link terminate terminate@/link method.
582 @param options Options originally passed to @link terminate terminate@/link, plus <code>kIOServiceRecursing</code>.
583 @result result of the terminate request on the client. */