io_submit — submit asynchronous I/O blocks for processing
#include <libaio.h>
int io_submit( |
aio_context_t ctx_id, |
long nr, | |
struct iocb **iocbpp) ; |
Note | |
---|---|
Link with |
io_submit
() queues
nr
I/O request blocks
for processing in the AIO context ctx_id
. iocbpp
should be an array of
nr
AIO control
blocks, which will be submitted to context ctx_id
.
On success, io_submit
()
returns the number of iocbs
submitted (which may be 0 if nr
is zero). For the failure
return, see NOTES.
Insufficient resources are available to queue any iocbs.
The file descriptor specified in the first iocb is invalid.
One of the data structures points to invalid data.
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.
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.
Glibc does not provide a wrapper function for this system call.
The wrapper provided in libaio
for io_submit
() does not follow the usual C
library conventions for indicating error: on error it returns
a negated error number (the negative of one of the values
listed in ERRORS). If the system call is invoked via
syscall(2), then the return
value follows the usual conventions for indicating an error:
−1, with errno
set to a
(positive) value that indicates the error.
This page is part of release 3.24 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/.
Copyright (C) 2003 Free Software Foundation, Inc. This file is distributed according to the GNU General Public License. See the file COPYING in the top level source directory for details. |