X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/8f6c56a50524aa785f7e596d52dddfb331e18961..fe8ab488e9161c46dd9885d58fc52996dc0249ff:/iokit/Kernel/IOServicePrivate.h diff --git a/iokit/Kernel/IOServicePrivate.h b/iokit/Kernel/IOServicePrivate.h index 641dc2a7f..465b8261a 100644 --- a/iokit/Kernel/IOServicePrivate.h +++ b/iokit/Kernel/IOServicePrivate.h @@ -38,8 +38,11 @@ // options for getExistingServices() enum { - kIONotifyOnce = 0x00000001, - kIOServiceExistingSet = 0x00000002 + kIONotifyOnce = 0x00000001, + kIOServiceExistingSet = 0x00000002, + kIOServiceChangesOK = 0x00000004, + kIOServiceInternalDone = 0x00000008, + kIOServiceClassDone = 0x00000010, }; // masks for __state[1] @@ -53,13 +56,13 @@ enum { kIOServiceSyncPubState = 0x08000000, kIOServiceConfigState = 0x04000000, + kIOServiceStartState = 0x02000000, kIOServiceTermPhase2State = 0x01000000, kIOServiceTermPhase3State = 0x00800000, -}; - -// options for terminate() -enum { + kIOServiceTermPhase1State = 0x00400000, + kIOServiceTerm1WaiterState = 0x00200000, kIOServiceRecursing = 0x00100000, + kIOServiceNeedWillTerminate = 0x00080000, }; // notify state @@ -84,7 +87,8 @@ public: OSOrderedSet * whence; OSDictionary * matching; - IOServiceNotificationHandler handler; + IOServiceMatchingNotificationHandler handler; + IOServiceNotificationHandler compatHandler; void * target; void * ref; SInt32 priority; @@ -118,6 +122,7 @@ public: virtual bool disable(); virtual void enable( bool was ); virtual void wait(); + virtual bool init(); }; class _IOConfigThread : public OSObject @@ -130,15 +135,11 @@ public: virtual void free(); static void configThread( void ); - static void main( _IOConfigThread * self ); + static void main( void * arg, wait_result_t result ); }; enum { -#ifdef LESS_THREAD_CREATE - kMaxConfigThreads = 4, -#else - kMaxConfigThreads = 32, -#endif + kMaxConfigThreads = CONFIG_MAX_THREADS, }; enum { @@ -170,6 +171,7 @@ class IOResources : public IOService public: static IOService * resources( void ); + virtual bool init( OSDictionary * dictionary = 0 ); virtual IOWorkLoop * getWorkLoop( ) const; virtual bool matchPropertyTable( OSDictionary * table ); virtual IOReturn setProperties( OSObject * properties ); @@ -198,6 +200,7 @@ public: extern const OSSymbol * gIOConsoleUsersKey; extern const OSSymbol * gIOConsoleSessionUIDKey; +extern const OSSymbol * gIOConsoleSessionAuditIDKey; extern const OSSymbol * gIOConsoleSessionOnConsoleKey; extern const OSSymbol * gIOConsoleSessionSecureInputPIDKey;