aio_write man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

aio_write(3RT)		  Realtime Library Functions		aio_write(3RT)

NAME
       aio_write - asynchronous write to a file

SYNOPSIS
       cc [ flag... ] file... -lrt [ library... ]
       #include <aio.h>

       int aio_write(struct aiocb *aiocbp);

DESCRIPTION
       The   aio_write()   function   allows  the  calling  process  to	 write
       aiocbp->aio_nbytes to the file associated with aiocbp->aio_fildes  from
       the  buffer  pointed  to	 by aiocbp->aio_buf. The function call returns
       when the write request has been initiated or, at a minimum,  queued  to
       the file or device. If _POSIX_PRIORITIZED_IO is defined and prioritized
       I/O is supported for this file, then the asynchronous operation is sub‐
       mitted  at  a  priority equal to the scheduling priority of the process
       minus aiocbp->aio_reqprio. The aiocbp may be used  as  an  argument  to
       aio_error(3RT) and aio_return(3RT) in order to determine the error sta‐
       tus and return status,  respectively,  of  the  asynchronous  operation
       while it is proceeding.

       The aiocbp argument points to an aiocb structure. If the buffer pointed
       to by aiocbp->aio_buf or the control block pointed to by aiocbp becomes
       an  illegal  address  prior  to	asynchronous  I/O completion, then the
       behavior is undefined.

       If O_APPEND is not set for the file  descriptor	aio_fildes,  then  the
       requested operation takes place at the absolute position in the file as
       given by aio_offset, as if lseek(2) were called	immediately  prior  to
       the  operation with an offset equal to aio_offset and a whence equal to
       SEEK_SET.  If O_APPEND is set for the file descriptor, write operations
       append  to  the	file in the same order as the calls were made. After a
       successful call to enqueue an asynchronous I/O operation, the value  of
       the file offset for the file is unspecified.

       The aiocbp->aio_lio_opcode field is ignored by aio_write().

       Simultaneous  asynchronous  operations  using  the  same aiocbp produce
       undefined results.

       If _POSIX_SYNCHRONIZED_IO is defined and synchronized I/O is enabled on
       the file associated with aiocbp->aio_fildes, the behavior of this func‐
       tion shall be according to the definitions  of  synchronized  I/O  data
       integrity completion and synchronized I/O file integrity completion.

       For  any	 system	 action that changes the process memory space while an
       asynchronous I/O is outstanding to the address range being changed, the
       result of that action is undefined.

       For  regular files, no data transfer will occur past the offset maximum
       established   in	  the	open   file   description   associated	  with
       aiocbp->aio_fildes.

RETURN VALUES
       The  aio_write()	 function  returns 0 to the calling process if the I/O
       operation is successfully queued; otherwise, the	 function  returns  −1
       and sets errno to indicate the error.

ERRORS
       The  aio_write() function will fail if:

       EAGAIN	       The requested asynchronous I/O operation was not queued
		       due to system resource limitations.

       ENOSYS	       The aio_write() function is not supported by  the  sys‐
		       tem.

       Each  of	 the following conditions may be detected synchronously at the
       time of the call to aio_write(), or asynchronously. If any of the  con‐
       ditions	below  are  detected  synchronously,  the aio_write() function
       returns −1 and sets errno to the corresponding value.  If  any  of  the
       conditions  below are detected asynchronously, the return status of the
       asynchronous operation is set to −1, and the error status of the	 asyn‐
       chronous operation will be set to the corresponding value.

       EBADF	       The  aiocbp->aio_fildes	argument  is  not a valid file
		       descriptor open for writing.

       EINVAL	       The file offset	value  implied	by  aiocbp->aio_offset
		       would  be  invalid,  aiocbp->aio_reqprio is not a valid
		       value, or aiocbp->aio_nbytes is an invalid value.

       In the case that the aio_write() successfully queues the I/O operation,
       the return status of the asynchronous operation will be one of the val‐
       ues normally returned by the write(2) function call. If	the  operation
       is  successfully	 queued	 but is subsequently canceled or encounters an
       error, the error status for the asynchronous operation contains one  of
       the  values  normally  set  by the write() function call, or one of the
       following:

       EBADF	       The aiocbp->aio_fildes argument is  not	a  valid  file
		       descriptor open for writing.

       EINVAL	       The  file  offset  value	 implied by aiocbp->aio_offset
		       would be invalid.

       ECANCELED       The requested I/O was canceled before the I/O completed
		       due to an explicit aio_cancel(3RT) request.

       The   following	condition  may	be  detected  synchronously  or	 asyn‐
       chronously:

       EFBIG	       The file is  a  regular	file,	aiobcp->aio_nbytes  is
		       greater	 than	0   and	  the	starting   offset   in
		       aiobcp->aio_offset is at or beyond the  offset  maximum
		       in   the	  open	 file	description   associated  with
		       aiocbp->aio_fildes.

USAGE
       The aio_write() function has a transitional interface for  64-bit  file
       offsets.	 See lf64(5).

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Standard			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       aio_cancel(3RT),	   aio_error(3RT),   aio_read(3RT),   aio_return(3RT),
       lio_listio(3RT),	 close(2),  _exit(2),  fork(2),	 lseek(2),   write(2),
       aio.h(3HEAD), signal.h(3HEAD), attributes(5), lf64(5), standards(5)

NOTES
       Solaris 2.6 was the first release to support the Asynchronous Input and
       Output option. Prior to this release, this function always returned  −1
       and set errno to ENOSYS.

SunOS 5.10			  28 Jun 2002			aio_write(3RT)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net