io_submit

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
IO_SUBMIT(2)		  Linux Programmer’s Manual		 IO_SUBMIT(2)



NAME
       io_submit - Submit asynchronous I/O blocks for processing

SYNOPSIS
       #include <libaio.h>


       extern int io_submit (io_context_t ctx, long nr, struct iocb *ios[]);


DESCRIPTION
       io_submit  queues nr I/O request blocks for processing in the AIO con-
       text ctx_id. iocbpp should be an array of nr AIO request blocks, which
       will be submitted to context ctx_id.


RETURN VALUE
       io_submit returns the number of iocbs submitted and 0 if nr is zero.


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.


CONFORMING TO
       io_submit is Linux specific and should not be used  in  programs	 that
       are intended to be portable.


VERSIONS
       The  asynchronous I/O system calls first appeared in Linux 2.5, August
       2002.


SEE ALSO
       io_setup(2), io_destroy(2), io_getevents(2), io_cancel(2).


NOTES
       The asynchronous I/O system calls were written by Benjamin LaHaise.


AUTHOR
       Kent Yoder.



Linux 2.4			  2003-02-21			 IO_SUBMIT(2)