May 4, 2007 AIO_CANCEL 3

### NAME

aio_cancel - cancel an outstanding asynchronous I/O operation (REALTIME)

### LIBRARY

POSIX Real-time Library (librt, -lrt)

### SYNOPSIS

```int` aio_cancel(```int fildes``, struct aiocb * aiocbp`)

### DESCRIPTION

The aio_cancel(``) system call cancels the outstanding asynchronous I/O request for the file descriptor specified in ```fildes`. If ```aiocbp` is specified, only that specific asynchronous I/O request is cancelled.

Normal asynchronous notification occurs for cancelled requests. Requests complete with an error result of ```ECANCELED`.

### RESTRICTIONS

The aio_cancel(``) system call does not cancel asynchronous I/O requests for raw disk devices. The aio_cancel(``) system call will always return ```AIO_NOTCANCELED` for file descriptors associated with raw disk devices.

### RETURN VALUES

The aio_cancel(``) system call returns -1 to indicate an error, or one of the following:

[```AIO_CANCELED`]
  All outstanding requests meeting the criteria specified were cancelled.

[```AIO_NOTCANCELED`]
  Some requests were not cancelled, status for the requests should be checked with aio_error(3).

[```AIO_ALLDONE`]
  All of the requests meeting the criteria have finished.

### ERRORS

An error return from aio_cancel(``) indicates:

[```EBADF`]
  The ```fildes` argument is an invalid file descriptor.

### SEE ALSO

aio_error(3), aio_read(3), aio_return(3), aio_suspend(3), aio_write(3)

### STANDARDS

The aio_cancel(``) system call is expected to conform to the IEEE Std 1003.1-2001 (``POSIX.1'') standard.

### HISTORY

The aio_cancel(``) system call first appeared in NetBSD5.0.