+#ifdef HAVE_POSIX2008_PREADV
+#define _SYSIO_PREADV_T int
+#else
+#define _SYSIO_PREADV_T size_t
+#endif
+
+struct iovec;
+
+/*
+ * Get status of previously posted async file IO operation.
+ */
+extern int SYSIO_INTERFACE_NAME(iodone)(ioid_t ioid);
+
+/*
+ * Wait for completion of a previously posted asynch file IO request.
+ */
+extern ssize_t SYSIO_INTERFACE_NAME(iowait)(ioid_t ioid);
+
+/*
+ * Post asynch read into buffers mapped by an iovec from file at given offset.
+ */
+extern ioid_t SYSIO_INTERFACE_NAME(ipreadv)(int fd,
+ const struct iovec *iov,
+ size_t count,
+ off_t offset);
+
+#ifdef _LARGEFILE64_SOURCE
+/*
+ * Post asynch read into buffers mapped by an iovec from file at given offset.
+ */
+extern ioid_t SYSIO_INTERFACE_NAME(ipread64v)(int fd,
+ const struct iovec *iov,
+ size_t count,
+ off64_t offset);
+#endif
+
+/*
+ * Post asynch read into buffer from file at given offset.
+ */
+extern ioid_t SYSIO_INTERFACE_NAME(ipread)(int fd,
+ void *buf,
+ size_t count,
+ off_t offset);
+
+#ifdef _LARGEFILE64_SOURCE
+/*
+ * Post asynch read into buffer from file at given offset.
+ */
+extern ioid_t SYSIO_INTERFACE_NAME(ipread64)(int fd,
+ void *buf,
+ size_t count,
+ off64_t offset);
+#endif
+
+/*
+ * Read into buffers mapped by an iovec from file at given offset.
+ */
+extern ssize_t SYSIO_INTERFACE_NAME(preadv)(int fd,
+ const struct iovec *iov,
+ _SYSIO_PREADV_T count,
+ off_t offset);
+
+#ifdef _LARGEFILE64_SOURCE
+/*
+ * Read into buffers mapped by an iovec from file at given offset.
+ */
+extern ssize_t SYSIO_INTERFACE_NAME(pread64v)(int fd,
+ const struct iovec *iov,
+ _SYSIO_PREADV_T count,
+ off64_t offset);
+#endif
+
+/*
+ * Post asynch read into buffers mapped by an iovec.
+ */
+extern ioid_t SYSIO_INTERFACE_NAME(ireadv)(int fd,
+ const struct iovec *iov,
+ int count);
+
+/*
+ * Read into buffer.
+ */
+extern ioid_t SYSIO_INTERFACE_NAME(iread)(int fd,
+ void *buf,
+ size_t count);
+
+/*
+ * Post async read into buffers mapped by iovec from regions mapped
+ * by xtvec.
+ *
+ * NB: An adaptation of "listio" from Argonne's PVFS.
+ */