MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                        aiofsync(3C)



NAME
     aiofsync - asynchronous file synchronization

SYNOPSIS
     #include 

     int aiofsync(int op, struct aiocb *aiocbp);


DESCRIPTION
     The  aiofsync()  function  asynchronously  forces  all  I/O
     operations  associated  with  the file indicated by the file
     descriptor aiofildes member of the aiocb  structure  refer-
     enced  by  the aiocbp argument and queued at the time of the
     call to  aiofsync()  to  the  synchronized  I/O  completion
     state.  The  function  call returns when the synchronization
     request has been initiated or queued to the file  or  device
     (even when the data cannot be synchronized immediately).


     If op is ODSYNC, all currently queued  I/O  operations  are
     completed  as  if  by  a  call to fdatasync(3C); that is, as
     defined for synchronized I/O data integrity  completion.  If
     op  is  OSYNC, all currently queued I/O operations are com-
     pleted as if by a call to fsync(3C); that is, as defined for
     synchronized   I/O   file   integrity   completion.  If  the
     aiofsync() function fails, or if the  operation  queued  by
     aiofsync() fails, then, as for fsync(3C) and fdatasync(3C),
     outstanding I/O operations are not guaranteed to  have  been
     completed.


     If aiofsync() succeeds, then it is only the  I/O  that  was
     queued  at  the  time  of  the  call  to aiofsync() that is
     guaranteed to be forced to the  relevant  completion  state.
     The  completion  of subsequent I/O on the file descriptor is
     not guaranteed to be completed in a synchronized fashion.


     The aiocbp argument refers to an  asynchronous  I/O  control
     block.  The  aiocbp  value  may  be  used  as an argument to
     aioerror(3C) and aioreturn(3C) in order to  determine  the
     error  status  and return status, respectively, of the asyn-
     chronous operation while it is proceeding. When the  request
     is  queued,  the  error  status for the operation is EINPRO-
     GRES. When all data has been successfully transferred,  the
     error status will be reset to reflect the success or failure
     of the operation. If the operation does  not  complete  suc-
     cessfully, the error status for the operation will be set to
     indicate the error. The aiosigevent member  determines  the
     asynchronous  notification to occur when all operations have
     achieved synchronized I/O completion (see  signal.h(3HEAD)).



SunOS 5.11           Last change: 5 Feb 2008                    1






Standard C Library Functions                        aiofsync(3C)



     All  other members of the structure referenced by aiocbp are
     ignored. If the control block referenced by  aiocbp  becomes
     an  illegal  address  prior  to asynchronous I/O completion,
     then the behavior is undefined.


     If the aiofsync() function fails or the aiocbp indicates an
     error  condition,  data  is not guaranteed to have been suc-
     cessfully transferred.


     If aiocbp is NUL, then no status is returned in aiocbp, and
     no signal is generated upon completion of the operation.

RETURN VALUES
     The aiofsync() 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.

ERORS
     The aiofsync() function will fail if:

     EAGAIN    The  requested  asynchronous  operation  was   not
               queued due to temporary resource limitations.


     EBADF     The  aiofildes  member  of  the  aiocb  structure
               referenced  by  the aiocbp argument is not a valid
               file descriptor open for writing.


     EINVAL    The system does not support synchronized  I/O  for
               this file.


     EINVAL    A value of op other than  ODSYNC  or  OSYNC  was
               specified.



     In the event that any of the  queued  I/O  operations  fail,
     aiofsync()  returns the error condition defined for read(2)
     and write(2). The error will be returned in the error status
     for  the  asynchronous  fsync(3C)  operation,  which  can be
     retrieved using aioerror(3C).

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

ATRIBUTES




SunOS 5.11           Last change: 5 Feb 2008                    2






Standard C Library Functions                        aiofsync(3C)



     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Committed                   
    
     MT-Level                     MT-Safe                     
    
     Standard                     See standards(5).           
    


SEE ALSO
     fcntl(2),   open(2),   read(2),   write(2),   aioerror(3C),
     aioreturn(3C), aio.h(3HEAD), fcntl.h(3HEAD), fdatasync(3C),
     fsync(3C), signal.h(3HEAD),  attributes(5),  lf64(5),  stan-
     dards(5)


































SunOS 5.11           Last change: 5 Feb 2008                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™