📄 aio_read.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 + -