#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 contextctx_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 yiibais 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() 是Linux特有的,並應在該旨在是可移植的程式不被使用。
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.