terminateClient
Passes a termination up the stack.
Declaration
virtual bool terminateClient(
IOService *client,
IOOptionBitsoptions );Parameters
- client:
The client of the terminated provider.
- options:
Options originally passed to terminate, plus
kIOServiceRecursing.
Return Value
result of the terminate request on the client.
Overview
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 terminate method.
See Also
Miscellaneous
acknowledgePowerChangeacknowledgeSetPowerStateactivityTickleaddLocationaddMatchingNotificationaddNotificationaddPowerChildadjustBusyattachcallPlatformFunctioncauseInterruptchangePowerStateTochangePowerStateToPrivclampPowerOnclosecommand_receivedcomparePropertiescompareProperty(OSDictionary *, const char *)compareProperty(OSDictionary *, const OSString *)configureReportcopyClientWithCategorycopyMatchingServicecurrentCapabilitycurrentPowerConsumptiondeRegisterInterestedDriverdetachdidTerminatedidYouWakeSystemdisableInterruptenableInterrupterrnoFromReturnfinalizefreegetAggressivenessgetBusyStategetClientgetClientIteratorgetDeviceMemorygetDeviceMemoryCountgetDeviceMemoryWithIndexgetInterruptTypegetMatchingServicesgetOpenClientIteratorgetOpenProviderIteratorgetPlatformgetPMRootDomaingetPMworkloopgetPowerStategetProvidergetProviderIteratorgetResourcesgetResourceServicegetServiceRootgetStategetWorkLoophandleClosehandleIsOpenhandleOpeninitialPowerStateForDomainStateisInactiveisOpenjoinPMtreelockForArbitrationmakeUsablemapDeviceMemoryWithIndexmatchLocationmatchPropertyTablemaxCapabilityForDomainStatemessagemessageClientmessageClientsnameMatching(const char *, OSDictionary *)nameMatching(const OSString *, OSDictionary *)newTemperaturenewUserClientnextIdleTimeoutopenPM_Clamp_Timer_ExpiredPM_idle_timer_expirationPMinitPMstoppowerChangeDonepowerOverrideOffPrivpowerOverrideOnPrivpowerStateDidChangeTopowerStateForDomainStatepowerStateWillChangeToprobepropertyMatchingpublishResource(const char *, OSObject *)publishResource(const OSSymbol *, OSObject *)registerInterestedDriverregisterInterruptregisterPowerDriverregisterServiceregistryEntryIDMatchingremovePowerChildrequestPowerDomainStaterequestProberequestTerminateresourceMatching(const char *, OSDictionary *)resourceMatching(const OSString *, OSDictionary *)serviceMatching(const char *, OSDictionary *)serviceMatching(const OSString *, OSDictionary *)setAggressivenesssetDeviceMemorysetIdleTimerPeriodsetPowerParentsetPowerStatestartstart_PM_idle_timerstopstringFromReturnsystemWakesystemWillShutdowntemperatureCriticalForZonetemporaryPowerClampOnterminateunlockForArbitrationunregisterInterruptupdateReportwaitForMatchingServicewaitForServicewaitQuietwillTerminateyouAreRoot