*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: aio_write | Section: 3 | Source: Digital UNIX | File: aio_write.3.gz
aio_write(3) Library Functions Manual aio_write(3) NAME aio_write - Queue a single asynchronous write request (P1003.1b). SYNOPSIS #include <aio.h> int aio_write ( struct aiocb *aiocbp ); PARAMETERS A pointer to an aiocb structure. DESCRIPTION The aio_write function allows the calling process to asynchronously write aiocbp->aio_nbytes to the file, raw disk partition, or connected socket associated with aiocbp->aio_fildes from the buffer pointed to by aiocbp->aio_buf. The aio_write function issues a write request and returns, even when the data cannot be written immediately. If the request cannot be initi- ated, the function returns with an error status. If an error condition occurs during queuing, the function call returns without initiating the queue request. The aiocbp argument points to an asynchronous control block structure, aiocb, used in the asynchronous I/O interfaces. The aiocb structure contains asynchronous operation information, such as the number of bytes for the write operation as well as the buffer containing the data to be written to the file descriptor specified in the aio_fildes member of the aiocb structure. The aiocbp value can be used as an argument to the aio_error and aio_return functions to determine the error or return status of the asynchronous write operation. The aiocb structure has the following members: int aio_fildes; off_t aio_offset; volatile void *aio_buf; size_t aio_nbytes; int aio_reqprio; struct sigevent aio_sigevent; int aio_lio_opcode The aio_fildes member is the file descriptor (file, raw disk partition, or connected socket) on which the asynchronous operation is to be per- formed. If the file descriptor is for a file or raw disk partition and O_APPEND is set for the file descriptor, write operations append to the file in the same order as the calls were made. If O_APPEND is not set, the re- quested operation takes place at the position in the file as given by aio_offset (as if the lseek function were called prior to the operation with an offset equal to aio_offset and a whence set to SEEK_SET). Af- ter any asynchronous I/O operation aio_offset member is undefined and must be set explicitly for every asynchronous I/O request. The aio_nbytes and aio_buf members are the same as the nbyte and buf arguments defined by the read, write, and fsync functions. The aio_sigevent member of the aiocb structure defines the signal gen- erated once the I/O operation is complete. If aio_sigevent.sigev_no- tify equals SIGEV_SIGNAL and aio_sigevent.sigev_signo is non-zero, a signal will be generated when the asynchronous write operation has com- pleted. The aio_lio_opcode and the aio_reqprio members are ignored by aio_write(). Pending I/O operations are handled as follows: o On close, _exit, or exec, any I/O that was directed to a file sys- tem file, a tty device, or a streams device is cancelled. Any I/O that was directed to any raw character device, excluding terminal and streams devices, is not cancelled. o On fork, no asynchronous I/O is inherited. RETURN VALUES On an unsuccessful call, a value of -1 is returned and errno is set to indicate the type of error that occurred. ERRORS The aio_write function fails under the following conditions: [EAGAIN] The requested asynchronous I/O operation was not queued due to system resource limitations. [EBADF] The aiocbp->aio_fildes argument is not a valid file de- scriptor open for writing. [EINVAL] The file offset value implied by aiocbp->aio_offset would be invalid, or aiocbp->aio_nbytes is an invalid value. If the I/O operation is successfully queued, a value of 0 is returned. After successful queuing of aio_write, return and error values are the same as for a call to the write function. One of the following addi- tional errors may occur: [ECANCELED] The operation was cancelled by aio_cancel. [EINVAL] The offset in aio_offset is invalid for the file specified. RELATED INFORMATION Functions: close(2), exec(2), _exit(2), fork(2), lseek(2), read(2), write(2), aio_cancel(3), aio_error(3), aio_group_completion_np(3), aio_read(3), aio_results_np(3), aio_return(3), lio_listio(3). delim off aio_write(3)

Navigation Options