• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/xnu-2782.1.97/iokit/Kernel/

Lines Matching +defs:message +defs:options +defs:set

475      * platforms set up the specifiers after IOService initialization.
515 * platforms set up the specifiers after IOService initialization.
649 void IOService::registerService( IOOptionBits options )
699 startMatching( options );
702 void IOService::startMatching( IOOptionBits options )
714 sync = (options & kIOServiceSynchronous)
718 if ( options & kIOServiceAsynchronous )
751 } else if( !sync || (kIOServiceAsynchronous & options)) {
753 ok = (0 != _IOServiceJob::startJob( this, kMatchNubJob, options ));
758 doServiceMatch( options );
787 OSSet * set;
799 set = (OSSet *) copyExistingServices( table,
803 if( set) {
806 count += set->getCount();
809 allSet->merge((const OSSet *) set);
810 set->release();
813 allSet = set;
837 IOOptionBits options )
850 job->options = options;
1188 // flag is not set, should we detect a deadlock later on
1223 // not have the 'required' flag set: we'll fail it
1247 // set, so we've got a deadlock we can't avoid
1500 // send a message to a client or interested party of this service
1509 ret = service->message( type, this, argument );
1566 // iterate over queue, entry is set to each element in the list
1614 // send a message to all clients
1851 bool IOService::requestTerminate( IOService * provider, IOOptionBits options )
1860 provider->terminateClient( this, options | kIOServiceRecursing );
1868 bool IOService::terminatePhase1( IOOptionBits options )
1880 TLOG("%s[0x%qx]::terminatePhase1(%08llx)\n", getName(), getRegistryEntryID(), (long long)options);
1888 (uintptr_t) options);
1891 if( options & kIOServiceRecursing) {
1923 if (kIOServiceTerminateNeedWillTerminate & options)
1965 victim->getName(), victim->getRegistryEntryID(), (long long)options);
1966 ok = client->requestTerminate( victim, options );
2010 scheduleTerminatePhase2( options );
2032 void IOService::scheduleTerminatePhase2( IOOptionBits options )
2041 options |= kIOServiceRequired;
2047 if( (options & kIOServiceSynchronous)
2064 terminateWorker( options );
2089 kernel_thread_start(&terminateThread, (void *)(uintptr_t) options, &gIOTerminateThread);
2165 bool IOService::willTerminate( IOService * provider, IOOptionBits options )
2170 bool IOService::didTerminate( IOService * provider, IOOptionBits options, bool * defer )
2179 message( kIOMessageServiceIsRequestingClose, provider, (void *)(uintptr_t) options );
2191 void IOService::actionWillTerminate( IOService * victim, IOOptionBits options,
2208 victim->getName(), regID2, (long long)options);
2216 ok = client->willTerminate( victim, options );
2223 void IOService::actionDidTerminate( IOService * victim, IOOptionBits options,
2232 victim->messageClients( kIOMessageServiceIsTerminated, (void *)(uintptr_t) options );
2241 victim->getName(), regID2, (long long)options);
2242 client->didTerminate( victim, options, &defer );
2261 void IOService::actionWillStop( IOService * victim, IOOptionBits options,
2277 provider->getName(), regID1, (long long)options);
2285 ok = victim->willTerminate( provider, options );
2291 void IOService::actionDidStop( IOService * victim, IOOptionBits options,
2307 provider->getName(), regID1, (long long)options);
2308 victim->didTerminate( provider, options, &defer );
2327 void IOService::actionFinalize( IOService * victim, IOOptionBits options,
2332 TLOG("%s[0x%qx]::finalize(%08llx)\n", victim->getName(), regID1, (long long)options);
2339 victim->finalize( options );
2365 void IOService::terminateWorker( IOOptionBits options )
2380 options |= kIOServiceRequired;
2425 victim, (void *)(uintptr_t) options, NULL );
2435 victim, (void *)(uintptr_t) options, (void *)(uintptr_t) doPhase2List );
2454 victim, (void *)(uintptr_t) options );
2457 victim, (void *)(uintptr_t) options, NULL );
2472 victim, (void *)(uintptr_t) options );
2556 bool IOService::finalize( IOOptionBits options )
2607 void IOService::doServiceTerminate( IOOptionBits options )
2612 bool IOService::terminateClient( IOService * client, IOOptionBits options )
2618 ok = client->terminate( options );
2625 bool IOService::terminate( IOOptionBits options )
2627 options |= kIOServiceTerminate;
2629 return( terminatePhase1( options ));
2643 IOOptionBits options;
2651 context->service->messageClient( context->type, object, (void *)(uintptr_t) context->options );
2655 IOOptionBits options,
2664 context.options = options;
2674 ok = handleOpen( forClient, options, arg );
2682 IOOptionBits options )
2691 handleClose( forClient, options );
2707 context.options = options;
2729 IOOptionBits options,
2738 else if( options & kIOServiceSeize ) {
2740 __owner, (void *)(uintptr_t) options ));
2750 IOOptionBits options )
3279 OSSet * set;
3289 set = OSDynamicCast( OSSet, resourcesProp );
3290 if( !set) {
3291 set = OSSet::withCapacity( 1 );
3292 if( set)
3293 set->setObject( resourcesProp );
3296 set->retain();
3298 set->setObject( newKey );
3300 ret = setProperty( gIOResourceMatchKey, set );
3301 set->release();
3341 OSSet * set;
3349 if( (set = OSDynamicCast( OSSet, resourcesProp ))) {
3351 iter = OSCollectionIterator::withCollection( set );
3394 void IOService::doServiceMatch( IOOptionBits options )
3714 nub->doServiceMatch( job->options );
3820 uint32_t options;
3831 uint32_t options = ctx->options;
3843 match = service->matchInternal(table, options, &done);
3850 if ((kIONotifyOnce & options) && (ctx->done == ctx->count))
3869 IOOptionBits inState, IOOptionBits options )
3892 && service->matchPassive(matching, options))
3894 if( options & kIONotifyOnce)
3910 ctx.options = options;
3927 options |= kIOServiceInternalDone | kIOServiceClassDone;
3935 if (service->matchPassive(matching, options))
3937 if( options & kIONotifyOnce)
3973 if( options & kIONotifyOnce) {
4009 if( current && (0 == (options & (kIONotifyOnce | kIOServiceExistingSet)))) {
4069 OSOrderedSet * set;
4098 if( 0 == (set = (OSOrderedSet *) gNotifications->getObject( type ))) {
4099 set = OSOrderedSet::withCapacity( 1,
4101 if( set) {
4102 gNotifications->setObject( type, set );
4103 set->release();
4106 notify->whence = set;
4107 if( set)
4108 set->setObject( notify );
4145 // get the current set
4229 // send notifications for existing set
4658 OSSet * set;
4667 else if( (set = OSDynamicCast( OSSet, prop))) {
4669 iter = OSCollectionIterator::withCollection( set );
4927 bool IOService::matchInternal(OSDictionary * table, uint32_t options, uint32_t * did)
4935 bool changesOK = (0 != (kIOServiceChangesOK & options));
4946 match = ((kIOServiceClassDone & options) || (0 != metaCast(str)));
4949 if ((kIOServiceClassDone & options) && !match) panic("classDone");
5081 bool IOService::matchPassive(OSDictionary * table, uint32_t options)
5104 if (!(kIOServiceInternalDone & options))
5106 match = where->matchInternal(table, options, &done);
5125 if (kIOServiceChangesOK & options) {
5134 options = 0;
5241 IOReturn IOService::requestProbe( IOOptionBits options )
5266 {kIOReturnBadMessageID, "bad IPC message ID" },
5291 {kIOReturnMessageTooLarge, "message is too large" },
5406 IOReturn IOService::message( UInt32 type, IOService * provider,
5411 * kIOReturnSuccess indicates that the message was received, and where
5451 IOOptionBits options )
5458 map = range->map( options );
5726 /* Make sure the _interruptSources are set */