IO_SUBMIT
Section: Linux Programmer's Manual (2)Updated: 2003-02-21
Index Return to Main Contents
NAME
io_submit - submit asynchronous I/O blocks for processingSYNOPSIS
#include <linux/aio.h> int io_submit(aio_context_t ctx_id, long nr, struct iocb **iocbpp);
DESCRIPTION
io_submit() queues nr I/O request blocks for processing in the AIO context ctx_id. iocbpp should be an array of nr AIO request 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); on failure, it returns one of the errors listed under ERRORS.
ERRORS
- 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.
- EFAULT
- One of the data structures points to invalid data.
- EBADF
- The file descriptor specified in the first iocb is invalid.
- EAGAIN
- Insufficient resources are available to queue any iocbs.
- ENOSYS
- io_submit() is not implemented on this architecture.
VERSIONS
The asynchronous I/O system calls first appeared in Linux 2.5, August 2002.
CONFORMING TO
io_submit() is Linux specific and should not be used in programs that are intended to be portable.
SEE ALSO
io_setup(2), io_destroy(2), io_getevents(2), io_cancel(2)


