.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
.TH "AIO_CANCEL" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
.\" aio_cancel
.SH PROLOG
This manual page is part of the POSIX Programmer's Manual.
The Linux implementation of this interface may differ (consult
the corresponding Linux manual page for details of Linux behavior),
or the interface may not be implemented on Linux.
.SH NAME
aio_cancel \- cancel an asynchronous I/O request (\fBREALTIME\fP)
.SH SYNOPSIS
.LP
\fB#include <aio.h>
.br
.sp
int aio_cancel(int\fP \fIfildes\fP\fB, struct aiocb *\fP\fIaiocbp\fP\fB);
\fP
\fB
.br
\fP
.SH DESCRIPTION
.LP
The \fIaio_cancel\fP() function shall attempt to cancel one or more
asynchronous I/O requests currently outstanding against
file descriptor \fIfildes\fP. The \fIaiocbp\fP argument points to
the asynchronous I/O control block for a particular request to
be canceled. If \fIaiocbp\fP is NULL, then all outstanding cancelable
asynchronous I/O requests against \fIfildes\fP shall be
canceled.
.LP
Normal asynchronous notification shall occur for asynchronous I/O
operations that are successfully canceled. If there are
requests that cannot be canceled, then the normal asynchronous completion
process shall take place for those requests when they are
completed.
.LP
For requested operations that are successfully canceled, the associated
error status shall be set to [ECANCELED] and the return
status shall be -1. For requested operations that are not successfully
canceled, the \fIaiocbp\fP shall not be modified by
\fIaio_cancel\fP().
.LP
If \fIaiocbp\fP is not NULL, then if \fIfildes\fP does not have the
same value as the file descriptor with which the
asynchronous operation was initiated, unspecified results occur.
.LP
Which operations are cancelable is implementation-defined.
.SH RETURN VALUE
.LP
The \fIaio_cancel\fP() function shall return the value AIO_CANCELED
to the calling process if the requested operation(s) were
canceled. The value AIO_NOTCANCELED shall be returned if at least
one of the requested operation(s) cannot be canceled because it
is in progress. In this case, the state of the other operations, if
any, referenced in the call to \fIaio_cancel\fP() is not
indicated by the return value of \fIaio_cancel\fP(). The application
may determine the state of affairs for these operations by
using \fIaio_error\fP(). The value AIO_ALLDONE is returned if all
of the operations have
already completed. Otherwise, the function shall return -1 and set
\fIerrno\fP to indicate the error.
.SH ERRORS
.LP
The \fIaio_cancel\fP() function shall fail if:
.TP 7
.B EBADF
The \fIfildes\fP argument is not a valid file descriptor.
.sp
.LP
\fIThe following sections are informative.\fP
.SH EXAMPLES
.LP
None.
.SH APPLICATION USAGE
.LP
The \fIaio_cancel\fP() function is part of the Asynchronous Input
and Output option and need not be available on all
implementations.
.SH RATIONALE
.LP
None.
.SH FUTURE DIRECTIONS
.LP
None.
.SH SEE ALSO
.LP
\fIaio_read\fP(), \fIaio_write\fP(), the Base Definitions volume
of
IEEE\ Std\ 1003.1-2001, \fI<aio.h>\fP
.SH COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html .
|