]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Kernel/IOServicePrivate.h
xnu-3789.51.2.tar.gz
[apple/xnu.git] / iokit / Kernel / IOServicePrivate.h
index 465b8261a08638dab0684ec5bb0218bdd4032196..4ad23fa1aa9c42565c5629dad74ce5b7d31fca8b 100644 (file)
@@ -47,8 +47,8 @@ enum {
 
 // masks for __state[1]
 enum {
-    kIOServiceBusyStateMask    = 0x000000ff,
-    kIOServiceBusyMax          = 255,
+    kIOServiceBusyStateMask    = 0x000003ff,
+    kIOServiceBusyMax          = 1023,
     kIOServiceNeedConfigState  = 0x80000000,
     kIOServiceSynchronousState = 0x40000000,
     kIOServiceModuleStallState = 0x20000000,
@@ -63,6 +63,7 @@ enum {
     kIOServiceTerm1WaiterState  = 0x00200000,
     kIOServiceRecursing                = 0x00100000,
     kIOServiceNeedWillTerminate = 0x00080000,
+    kIOServiceWaitDetachState   = 0x00040000,
 };
 
 // notify state
@@ -95,10 +96,10 @@ public:
     queue_head_t                       handlerInvocations;
     IOOptionBits                       state;
 
-    virtual void free();
-    virtual void remove();
-    virtual bool disable();
-    virtual void enable( bool was );
+    virtual void free() APPLE_KEXT_OVERRIDE;
+    virtual void remove() APPLE_KEXT_OVERRIDE;
+    virtual bool disable() APPLE_KEXT_OVERRIDE;
+    virtual void enable( bool was ) APPLE_KEXT_OVERRIDE;
     virtual void wait();
 };
 
@@ -117,12 +118,26 @@ public:
     queue_head_t               handlerInvocations;
     IOOptionBits               state;
 
-    virtual void free();
-    virtual void remove();
-    virtual bool disable();
-    virtual void enable( bool was );
+    virtual void free() APPLE_KEXT_OVERRIDE;
+    virtual void remove() APPLE_KEXT_OVERRIDE;
+    virtual bool disable() APPLE_KEXT_OVERRIDE;
+    virtual void enable( bool was ) APPLE_KEXT_OVERRIDE;
+    virtual void wait();
+    virtual bool init() APPLE_KEXT_OVERRIDE;
+};
+
+class _IOServiceNullNotifier : public IONotifier
+{
+    OSDeclareDefaultStructors(_IOServiceNullNotifier)
+
+public:
+    virtual void taggedRetain(const void *tag) const APPLE_KEXT_OVERRIDE;
+    virtual void taggedRelease(const void *tag, const int when) const APPLE_KEXT_OVERRIDE;
+    virtual void free() APPLE_KEXT_OVERRIDE;
+    virtual void remove() APPLE_KEXT_OVERRIDE;
+    virtual bool disable() APPLE_KEXT_OVERRIDE;
+    virtual void enable( bool was ) APPLE_KEXT_OVERRIDE;
     virtual void wait();
-    virtual bool init();
 };
 
 class _IOConfigThread : public OSObject
@@ -132,7 +147,7 @@ class _IOConfigThread : public OSObject
     OSDeclareDefaultStructors(_IOConfigThread)
 
 public:
-    virtual void free();
+    virtual void free() APPLE_KEXT_OVERRIDE;
 
     static void configThread( void );
     static void main( void * arg, wait_result_t result );
@@ -171,10 +186,13 @@ 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 );
+    virtual bool init( OSDictionary * dictionary = 0 ) APPLE_KEXT_OVERRIDE;
+    virtual IOReturn newUserClient(task_t owningTask, void * securityID,
+                                   UInt32 type,  OSDictionary * properties,
+                                   IOUserClient ** handler) APPLE_KEXT_OVERRIDE;
+    virtual IOWorkLoop * getWorkLoop( ) const APPLE_KEXT_OVERRIDE;
+    virtual bool matchPropertyTable( OSDictionary * table ) APPLE_KEXT_OVERRIDE;
+    virtual IOReturn setProperties( OSObject * properties ) APPLE_KEXT_OVERRIDE;
 };
 
 class _IOOpenServiceIterator : public OSIterator
@@ -192,10 +210,10 @@ public:
     static OSIterator * iterator( OSIterator * _iter,
                                   const IOService * client,
                                   const IOService * provider );
-    virtual void free();
-    virtual void reset();
-    virtual bool isValid();
-    virtual OSObject * getNextObject();
+    virtual void free() APPLE_KEXT_OVERRIDE;
+    virtual void reset() APPLE_KEXT_OVERRIDE;
+    virtual bool isValid() APPLE_KEXT_OVERRIDE;
+    virtual OSObject * getNextObject() APPLE_KEXT_OVERRIDE;
 };
 
 extern const OSSymbol * gIOConsoleUsersKey;