posix-next API 0.1.0
Out-of-tree Zephyr POSIX module
Loading...
Searching...
No Matches
aio.h File Reference

POSIX asynchronous I/O (<aio.h>) More...

#include <stddef.h>
#include <stdint.h>
#include <signal.h>
#include <zephyr/toolchain.h>
#include <time.h>
Include dependency graph for aio.h:

Go to the source code of this file.

Data Structures

struct  timespec
 Time value with nanosecond resolution. More...
 
struct  aiocb
 Asynchronous I/O control block. More...
 

Macros

#define _OFF_T_DECLARED
 
#define __off_t_defined
 
#define __SIZE_TYPE__   unsigned long
 
#define unsigned   signed /* parasoft-suppress MISRAC2012-RULE_20_4-a MISRAC2012-RULE_20_4-b */
 Signed size type.
 
#define _SSIZE_T_DECLARED
 
#define __ssize_t_defined
 
#define _TIMESPEC_DECLARED
 
#define __timespec_defined
 

Typedefs

typedef long off_t
 File offset type.
 
typedef signed long ssize_t
 

Functions

int aio_cancel (int fildes, struct aiocb *aiocbp)
 Cancel an outstanding asynchronous I/O request.
 
int aio_error (const struct aiocb *aiocbp)
 Retrieve the error status of an asynchronous I/O request.
 
int aio_fsync (int filedes, struct aiocb *aiocbp)
 Asynchronously synchronise a file's data and metadata to storage.
 
int aio_read (struct aiocb *aiocbp)
 Enqueue an asynchronous read operation.
 
ssize_t aio_return (struct aiocb *aiocbp)
 Retrieve the return status of a completed asynchronous I/O request.
 
int aio_suspend (const struct aiocb *const list[], int nent, const struct timespec *timeout)
 Wait for one or more asynchronous I/O requests to complete.
 
int aio_write (struct aiocb *aiocbp)
 Enqueue an asynchronous write operation.
 
int lio_listio (int mode, struct aiocb *const ZRESTRICT list[], int nent, struct sigevent *ZRESTRICT sig)
 Initiate a list of asynchronous I/O requests.
 

Detailed Description

POSIX asynchronous I/O (<aio.h>)

Provides the aiocb control block and the asynchronous I/O functions that allow read, write, and fsync operations to proceed in the background.

See also
POSIX.1-2017 <aio.h>

Definition in file aio.h.

Macro Definition Documentation

◆ __off_t_defined

#define __off_t_defined

Definition at line 38 of file aio.h.

◆ __SIZE_TYPE__

#define __SIZE_TYPE__   unsigned long

Definition at line 42 of file aio.h.

◆ __ssize_t_defined

#define __ssize_t_defined

Definition at line 51 of file aio.h.

◆ __timespec_defined

#define __timespec_defined

Definition at line 67 of file aio.h.

◆ _OFF_T_DECLARED

#define _OFF_T_DECLARED

Definition at line 37 of file aio.h.

◆ _SSIZE_T_DECLARED

#define _SSIZE_T_DECLARED

Definition at line 50 of file aio.h.

◆ _TIMESPEC_DECLARED

#define _TIMESPEC_DECLARED

Definition at line 66 of file aio.h.

Typedef Documentation

◆ ssize_t

typedef signed long ssize_t

Definition at line 48 of file aio.h.