Remove non-public definitions. Add aioinit stuff.
authordrepper <drepper>
Mon, 8 Dec 1997 02:46:40 +0000 (02:46 +0000)
committerdrepper <drepper>
Mon, 8 Dec 1997 02:46:40 +0000 (02:46 +0000)
rt/aio.h

index 561776c..a49b8c7 100644 (file)
--- a/rt/aio.h
+++ b/rt/aio.h
@@ -43,8 +43,6 @@ struct aiocb
   struct sigevent aio_sigevent;        /* Signal number and value.  */
 
   /* Internal members.  */
-  struct aiocb *__last_fd;
-  struct aiocb *__next_fd;
   struct aiocb *__next_prio;
   int __abs_prio;
   int __policy;
@@ -53,10 +51,11 @@ struct aiocb
 
 #ifndef __USE_FILE_OFFSET64
   __off_t aio_offset;          /* File offset.  */
+  char __pad[sizeof (__off64_t) - sizeof (__off_t)];
 #else
   __off64_t aio_offset;                /* File offset.  */
 #endif
-  int __unused[32];
+  char __unused[32];
 };
 
 /* The same for the 64bit offsets.  */
@@ -71,20 +70,33 @@ struct aiocb64
   struct sigevent aio_sigevent;        /* Signal number and value.  */
 
   /* Internal members.  */
-  struct aiocb64 *__last_fd;
-  struct aiocb64 *__next_fd;
-  struct aiocb64 *__next_prio;
   int __abs_prio;
   int __policy;
   int __error_code;
   __ssize_t __return_value;
 
   __off64_t aio_offset;                /* File offset.  */
-  int __unused[32];
+  char __unused[32];
 };
 #endif
 
 
+#ifdef __USE_GNU
+/* To customize the implementation one can use the following struct.
+   This implementation follows the one in Irix.  */
+struct aioinit
+  {
+    int aio_threads;           /* Maximal number of threads.  */
+    int aio_num;               /* Number of expected simultanious requests. */
+    int aio_locks;             /* Not used.  */
+    int aio_usedba;            /* Not used.  */
+    int aio_debug;             /* Not used.  */
+    int aio_numusers;          /* Not used.  */
+    int aio_reserved[2];
+  };
+#endif
+
+
 /* Return values of cancelation function.  */
 enum
 {
@@ -104,12 +116,8 @@ enum
 #define LIO_READ LIO_READ
   LIO_WRITE,
 #define LIO_WRITE LIO_WRITE
-  LIO_NOP,
+  LIO_NOP
 #define LIO_NOP LIO_NOP
-  __LIO_DSYNC,
-  __LIO_SYNC,
-  __LIO_READ64 = LIO_READ | 128,
-  __LIO_WRITE64 = LIO_WRITE | 128
 };
 
 
@@ -123,6 +131,13 @@ enum
 };
 
 
+/* Allow user to specify optimization.  */
+#ifdef __USE_GNU
+extern void __aio_init __P ((__const struct aioinit *__init));
+extern void aio_init __P ((__const struct aioinit *__init));
+#endif
+
+
 /* Enqueue read request for given number of bytes and the given priority.  */
 #ifndef __USE_FILE_OFFSET64
 extern int aio_read __P ((struct aiocb *__aiocbp));