io_setup

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



NAME
       io_setup - Create an asynchronous I/O context

SYNOPSIS
       #include <libaio.h>


       int io_setup (int maxevents, io_context_t *ctxp);


DESCRIPTION
       io_setup	 creates  an asynchronous I/O context capable of receiving at
       least maxevents.	 ctxp must not point to an AIO context	that  already
       exists, and must be initialized to 0 prior to the call.	On successful
       creation of the AIO context, *ctxp is filled  in	 with  the  resulting
       handle.


RETURN VALUE
       io_setup	 returns 0 on success; otherwise, one of the errors listed in
       the "Errors" section is returned.


ERRORS
       EINVAL ctxp is not initialized, or the specified maxevents exceeds in-
	      ternal limits. maxevents should be greater than 0.


       EFAULT An invalid pointer is passed for ctxp.


       ENOMEM Insufficient kernel resources are available.


       EAGAIN The  specified  maxevents exceeds the user’s limit of available
	      events.


       ENOSYS io_setup is not implemented on this architecture.


CONFORMING TO
       io_setup 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_destroy(2), io_getevents(2), io_submit(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_SETUP(2)