GNU/Linux |
CentOS 5.2 |
|
![]() |
io_submit(2) |
![]() |
io_submit − Submit asynchronous I/O blocks for processing
#include <libaio.h>
long io_submit (aio_context_t ctx_id, long nr, struct iocb **iocbpp); |
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.
io_submit() returns the number of iocbs submitted and 0 if nr is zero.
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. |
io_submit() is Linux specific and should not be used in programs that are intended to be portable.
The asynchronous I/O system calls first appeared in Linux 2.5, August 2002.
io_setup(2), io_destroy(2), io_getevents(2), io_cancel(2).
The asynchronous I/O system calls were written by Benjamin LaHaise.
Kent Yoder.
![]() |
io_submit(2) | ![]() |