---
name: "aio_return"
section: "2freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/aio_return/2freebsd"
---

# aio\_return(2freebsd)

retrieve return status of asynchronous I/O operation (REALTIME)

## NAME

**aio\_return** – retrieve return status of asynchronous I/O operation (REALTIME)

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<aio.h\>**

*ssize\_t*\

**aio\_return**(*struct aiocb \*iocb*);

## DESCRIPTION

The **aio\_return**() system call returns the final status of the asynchronous I/O request associated with the structure pointed to by *iocb*.

The **aio\_return**() system call should only be called once, to obtain the final status of an asynchronous I/O operation once it has completed ((aio\_error) 2 returns something other than EINPROGRESS).

## RETURN VALUES

If the asynchronous I/O request has completed, the status is returned as described in [read(2)](/read/2.md), [write(2)](/write/2.md), or [fsync(2)](/fsync/2.md). Otherwise, **aio\_return**() returns -1 and sets *errno* to indicate the error condition.

## ERRORS

The **aio\_return**() system call will fail if:

- \[EINVAL\]

  The *iocb* argument does not reference a completed asynchronous I/O request.

## SEE ALSO

[aio\_cancel(2)](/aio_cancel/2.md), [aio\_error(2)](/aio_error/2.md), [aio\_suspend(2)](/aio_suspend/2.md), [aio\_waitcomplete(2)](/aio_waitcomplete/2.md), [aio\_write(2)](/aio_write/2.md), [fsync(2)](/fsync/2.md), [read(2)](/read/2.md), [write(2)](/write/2.md), [aio(4)](/aio/4.md)

## STANDARDS

The **aio\_return**() system call is expected to conform to the IEEE Std 1003.1 (“POSIX.1”) standard.

## HISTORY

The **aio\_return**() system call first appeared in FreeBSD 3.0.

## AUTHORS

This manual page was written by Wes Peters ⟨*wes@softweyr.com*⟩.
