IO_SUBMIT(2) | Linux Programmer's Manual | IO_SUBMIT(2) |
NAME
io_submit - submit asynchronous I/O blocks for processingSYNOPSIS
#include <linux/aio_abi.h> /* Defines needed types */
int io_submit(aio_context_t ctx_id, long nr, struct iocb **iocbpp);
Note: There is no glibc wrapper for this system call; see NOTES.
DESCRIPTION
The io_submit() system call queues nr I/O request blocks for processing in the AIO context ctx_id. The iocbpp argument should be an array of nr AIO control blocks, which will be submitted to context ctx_id.RETURN VALUE
On success, io_submit() returns the number of iocbs submitted (which may be 0 if nr is zero). For the failure return, see NOTES.ERRORS
- EAGAIN
- Insufficient resources are available to queue any iocbs.
- EBADF
- The file descriptor specified in the first iocb is invalid.
- EFAULT
- One of the data structures points to invalid data.
- EINVAL
- The AIO context specified by ctx_id is invalid. nr is less than 0. The iocb at *iocbpp[0] is not properly initialized, or the operation specified is invalid for the file descriptor in the iocb.
- ENOSYS
- io_submit() is not implemented on this architecture.
VERSIONS
The asynchronous I/O system calls first appeared in Linux 2.5.CONFORMING TO
io_submit() is Linux-specific and should not be used in programs that are intended to be portable.NOTES
Glibc does not provide a wrapper function for this system call. You could invoke it using syscall(2). But instead, you probably want to use the io_submit() wrapper function provided by libaio.SEE ALSO
io_cancel(2), io_destroy(2), io_getevents(2), io_setup(2), aio(7)COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.2012-07-13 | Linux |