Line data Source code
1 0 : /*
2 : * Copyright 2024 Tenstorrent AI ULC
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_INCLUDE_ZEPHYR_POSIX_AIO_H_
8 : #define ZEPHYR_INCLUDE_ZEPHYR_POSIX_AIO_H_
9 :
10 : #include <signal.h>
11 : #include <sys/types.h>
12 : #include <time.h>
13 :
14 : #include <zephyr/toolchain.h>
15 :
16 : #ifdef __cplusplus
17 : extern "C" {
18 : #endif
19 :
20 0 : struct aiocb {
21 0 : int aio_fildes;
22 0 : off_t aio_offset;
23 0 : volatile void *aio_buf;
24 0 : size_t aio_nbytes;
25 0 : int aio_reqprio;
26 0 : struct sigevent aio_sigevent;
27 0 : int aio_lio_opcode;
28 : };
29 :
30 : #if _POSIX_C_SOURCE >= 200112L
31 :
32 : int aio_cancel(int fildes, struct aiocb *aiocbp);
33 : int aio_error(const struct aiocb *aiocbp);
34 : int aio_fsync(int filedes, struct aiocb *aiocbp);
35 : int aio_read(struct aiocb *aiocbp);
36 : ssize_t aio_return(struct aiocb *aiocbp);
37 : int aio_suspend(const struct aiocb *const list[], int nent, const struct timespec *timeout);
38 : int aio_write(struct aiocb *aiocbp);
39 : int lio_listio(int mode, struct aiocb *const ZRESTRICT list[], int nent,
40 : struct sigevent *ZRESTRICT sig);
41 :
42 : #endif /* _POSIX_C_SOURCE >= 200112L */
43 :
44 : #ifdef __cplusplus
45 : }
46 : #endif
47 :
48 : #endif /* ZEPHYR_INCLUDE_ZEPHYR_POSIX_AIO_H_ */
|