]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Kernel/IOServicePrivate.h
xnu-4570.20.62.tar.gz
[apple/xnu.git] / iokit / Kernel / IOServicePrivate.h
index af6ca5636cd26707976c51da180a4bf94d1192f3..2041d08065ec09bcf472c7bcd5d49b7e161902f0 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,8 @@ enum {
     kIOServiceTerm1WaiterState  = 0x00200000,
     kIOServiceRecursing                = 0x00100000,
     kIOServiceNeedWillTerminate = 0x00080000,
+    kIOServiceWaitDetachState   = 0x00040000,
+    kIOServiceConfigRunning     = 0x00020000,
 };
 
 // notify state
@@ -87,6 +89,7 @@ public:
     OSOrderedSet *                     whence;
 
     OSDictionary *                     matching;
+    const OSSymbol *                    type;
     IOServiceMatchingNotificationHandler handler;
     IOServiceNotificationHandler       compatHandler;
     void *                             target;
@@ -125,6 +128,20 @@ public:
     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();
+};
+
 class _IOConfigThread : public OSObject
 {
     friend class IOService;