⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aio_read.3

📁 xen 3.2.2 源码
💻 3
字号:
.TH aio_read 3 2002-09-12 "Linux 2.4" Linux AIO".SH NAMEaio_read \- Initiate an asynchronous read operation.SH SYNOPSYS.nf.B #include <errno.h>.sp.br .B #include <aio.h>.sp.br.BI "int aio_read (struct aiocb *aiocbp)".fi.SH DESCRIPTIONThis function initiates an asynchronous read operation.  Itimmediately returns after the operation was enqueued or when anerror was encountered.The first .IR "aiocbp->aio_nbytes"bytes of the file for which.IR "aiocbp->aio_fildes"is a descriptor are written to the bufferstarting at .IR "aiocbp->aio_buf".  Reading starts at the absoluteposition .IR "aiocbp->aio_offset"in the file.If prioritized I/O is supported by the platform the.IR "aiocbp->aio_reqprio"value is used to adjust the priority beforethe request is actually enqueued.The calling process is notified about the termination of the readrequest according to the .IR "aiocbp->aio_sigevent"value..SH "RETURN VALUES"When .IR "aio_read"returns, the return value is zero if no erroroccurred that can be found before the process is enqueued.  If such anearly error is found, the function returns .IR -1and sets.IR "errno"..PPIf .IR "aio_read"returns zero, the current status of the requestcan be queried using .IR "aio_error"and .IR "aio_return"functions.As long as the value returned by .IR "aio_error"is .IR "EINPROGRESS"the operation has not yet completed.  If .IR "aio_error"returns zero,the operation successfully terminated, otherwise the value is to beinterpreted as an error code.  If the function terminated, the result ofthe operation can be obtained using a call to .IR "aio_return".  Thereturned value is the same as an equivalent call to .IR "read"wouldhave returned.  When the sources are compiled with .IR "_FILE_OFFSET_BITS == 64"thisfunction is in fact .IR "aio_read64"since the LFS interface transparentlyreplaces the normal implementation..SH ERRORSIn the case of an early error:.TP.B  EAGAINThe request was not enqueued due to (temporarily) exceeded resourcelimitations..TP.B  ENOSYSThe .IR "aio_read"function is not implemented..TP.B  EBADFThe .IR "aiocbp->aio_fildes"descriptor is not valid.  This conditionneed not be recognized before enqueueing the request and so this errormight also be signaled asynchronously..TP.B  EINVALThe .IR "aiocbp->aio_offset"or .IR "aiocbp->aio_reqpiro"value isinvalid.  This condition need not be recognized before enqueueing therequest and so this error might also be signaled asynchronously..PPIn the case of a normal return, possible error codes returned by .IR "aio_error"are:.TP.B  EBADFThe .IR "aiocbp->aio_fildes"descriptor is not valid..TP.B  ECANCELEDThe operation was canceled before the operation was finished.TP.B  EINVALThe .IR "aiocbp->aio_offset"value is invalid..PP.SH "SEE ALSO".BR aio(3),.BR aio_cancel(3),.BR aio_cancel64(3),.BR aio_error(3),.BR aio_error64(3),.BR aio_fsync(3),.BR aio_fsync64(3),.BR aio_init(3),.BR aio_read64(3),.BR aio_return(3),.BR aio_return64(3),.BR aio_suspend(3),.BR aio_suspend64(3),.BR aio_write(3),.BR aio_write64(3),.BR errno(3),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -