aio_cancel(2)                                                 aio_cancel(2)
 NAME    [Toc]    [Back]
      aio_cancel() - cancel an asynchronous I/O operation
 SYNOPSIS    [Toc]    [Back]
      #include <aio.h>
      int aio_cancel(int fildes, struct aiocb *aiocbp);
 DESCRIPTION    [Toc]    [Back]
      The aio_cancel() function attempts to cancel the asynchronous I/O
      request currently outstanding for the aiocb referenced by aiocbp or,
      if aiocbp is NULL, any asynchronous I/O operations currently
      outstanding for the file descriptor fildes.
      If an asynchronous I/O operation is successfully canceled as a result
      of aio_cancel, its status is set to ECANCELED, and any signal delivery
      specified for that operation is performed.  Any outstanding requests
      that cannot be canceled as a result of the aio_cancel() remain
      enqueued and are unaffected by the cancellation request.
      Asynchronous I/O operations that are requested as a single logical
      operation are either completed or canceled atomically.  Once any
      portion of the operation has started, it cannot be canceled.  Whether
      or not and when an asynchronous I/O operation can be canceled depends
      on the nature of the request.
      If aiocbp is not NULL, fildes is ignored.
      To use this function, link in the realtime library by specifying -lrt
      on the compiler or linker command line.
 RETURN VALUE    [Toc]    [Back]
      The aio_cancel() function returns one of the following values:
           AIO_CANCELED   The asynchronous I/O operation enqueued for the
                          aiocb referenced by aiocbp or all asynchronous I/O
                          operations enqueued for the file referenced by
                          fildes have been successfully canceled.
           AIO_NOTCANCELED    [Toc]    [Back]
                          The asynchronous I/O operation enqueued for the
                          aiocb referenced by aiocbp or at least one of the
                          asynchronous I/O operations enqueued for the file
                          referenced by fildes have not been canceled.  (The
                          aio_error() function must be used to determine the
                          status of individual operations.)
           AIO_ALLDONE    The asynchronous I/O operation enqueued for the
                          aiocb referenced by aiocbp or all of the
                          asynchronous I/O operations enqueued for the file
                          referenced by fildes completed before cancellation
 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003
 aio_cancel(2)                                                 aio_cancel(2)
                          could be attempted.
           -1             Failure.  The requested cancellation could not be
                          initiated.  errno is set to indicate the error.
 ERRORS    [Toc]    [Back]
      If aio_cancel() detects one of the following error conditions, errno
      is set to the indicated value:
           [EBADF]        The aiocbp argument is NULL and the fildes
                          argument is not a valid file descriptor.
           [EINVAL]       There was no asynchronous I/O operation enqueued
                          for the aiocb referenced by aiocbp.
 SEE ALSO    [Toc]    [Back]
      aio_error(2), aio_fsync(2), aio_read(2), aio_return(2),
      aio_suspend(2), aio_write(2), lio_listio(2), aio(5).
 STANDARDS CONFORMANCE    [Toc]    [Back]
      aio_cancel(): POSIX Realtime Extensions, IEEE Std 1003.1b
 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003 [ Back ] |