]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/IOKit/IODataQueue.h
xnu-3789.1.32.tar.gz
[apple/xnu.git] / iokit / IOKit / IODataQueue.h
index 458cb478ae972b8df5bf1f80d8d10b7ea2628f25..8af46e5b3187725b92385514f5800ad8915a2771 100644 (file)
 #ifndef _IOKIT_IODATAQUEUE_H
 #define _IOKIT_IODATAQUEUE_H
 
+#ifndef DISABLE_DATAQUEUE_WARNING
+#warning "IODataQueue is deprecated due to security issues in its interfaces, please use IOSharedDataQueue instead"
+#endif
+
+
 #include <libkern/c++/OSObject.h>
 #include <libkern/OSTypes.h>
 #include <mach/port.h>
@@ -54,7 +59,11 @@ struct _notifyMsg {
  *
  * <br>In order to make the data queue memory available to a user process, the method getMemoryDescriptor() must be used to get an IOMemoryDescriptor instance that can be mapped into a user process.  Typically, the clientMemoryForType() method on an IOUserClient instance will be used to request the IOMemoryDescriptor and then return it to be mapped into the user process.
  */
+#ifndef DISABLE_DATAQUEUE_WARNING 
+class __attribute__((deprecated)) IODataQueue : public OSObject
+#else 
 class IODataQueue : public OSObject
+#endif
 {
     OSDeclareDefaultStructors(IODataQueue)
 
@@ -63,7 +72,7 @@ protected:
 
     void *             notifyMsg;
 
-    virtual void free();
+    virtual void free() APPLE_KEXT_OVERRIDE;
 
     /*!
      * @function sendDataAvailableNotification