Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
[safe/jmp/linux-2.6] / include / linux / aio_abi.h
index 3466b1d..2c87316 100644 (file)
@@ -1,4 +1,4 @@
-/* linux/aio_abi.h
+/* include/linux/aio_abi.h
  *
  * Copyright 2000,2001,2002 Red Hat.
  *
@@ -27,6 +27,7 @@
 #ifndef __LINUX__AIO_ABI_H
 #define __LINUX__AIO_ABI_H
 
+#include <linux/types.h>
 #include <asm/byteorder.h>
 
 typedef unsigned long  aio_context_t;
@@ -45,6 +46,14 @@ enum {
        IOCB_CMD_PWRITEV = 8,
 };
 
+/*
+ * Valid flags for the "aio_flags" member of the "struct iocb".
+ *
+ * IOCB_FLAG_RESFD - Set if the "aio_resfd" member of the "struct iocb"
+ *                   is valid.
+ */
+#define IOCB_FLAG_RESFD                (1 << 0)
+
 /* read() from /dev/aio returns these structures. */
 struct io_event {
        __u64           data;           /* the data field from the iocb */
@@ -84,7 +93,15 @@ struct iocb {
 
        /* extra parameters */
        __u64   aio_reserved2;  /* TODO: use this for a (struct sigevent *) */
-       __u64   aio_reserved3;
+
+       /* flags for the "struct iocb" */
+       __u32   aio_flags;
+
+       /*
+        * if the IOCB_FLAG_RESFD flag of "aio_flags" is set, this is an
+        * eventfd to signal AIO readiness to
+        */
+       __u32   aio_resfd;
 }; /* 64 bytes */
 
 #undef IFBIG