github.com/afumu/libc@v0.0.6/musl/include/aio.h (about)

     1  #ifndef _AIO_H
     2  #define _AIO_H
     3  
     4  #ifdef __cplusplus
     5  extern "C" {
     6  #endif
     7  
     8  #include <features.h>
     9  #include <signal.h>
    10  #include <time.h>
    11  
    12  #define __NEED_ssize_t
    13  #define __NEED_off_t
    14  
    15  #include <bits/alltypes.h>
    16  
    17  struct aiocb {
    18  	int aio_fildes, aio_lio_opcode, aio_reqprio;
    19  	volatile void *aio_buf;
    20  	size_t aio_nbytes;
    21  	struct sigevent aio_sigevent;
    22  	void *__td;
    23  	int __lock[2];
    24  	volatile int __err;
    25  	ssize_t __ret;
    26  	off_t aio_offset;
    27  	void *__next, *__prev;
    28  	char __dummy4[32-2*sizeof(void *)];
    29  };
    30  
    31  #define AIO_CANCELED 0
    32  #define AIO_NOTCANCELED 1
    33  #define AIO_ALLDONE 2
    34  
    35  #define LIO_READ 0
    36  #define LIO_WRITE 1
    37  #define LIO_NOP 2
    38  
    39  #define LIO_WAIT 0
    40  #define LIO_NOWAIT 1
    41  
    42  int aio_read(struct aiocb *);
    43  int aio_write(struct aiocb *);
    44  int aio_error(const struct aiocb *);
    45  ssize_t aio_return(struct aiocb *);
    46  int aio_cancel(int, struct aiocb *);
    47  int aio_suspend(const struct aiocb *const [], int, const struct timespec *);
    48  int aio_fsync(int, struct aiocb *);
    49  
    50  int lio_listio(int, struct aiocb *__restrict const *__restrict, int, struct sigevent *__restrict);
    51  
    52  #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
    53  #define aiocb64 aiocb
    54  #define aio_read64 aio_read
    55  #define aio_write64 aio_write
    56  #define aio_error64 aio_error
    57  #define aio_return64 aio_return
    58  #define aio_cancel64 aio_cancel
    59  #define aio_suspend64 aio_suspend
    60  #define aio_fsync64 aio_fsync
    61  #define lio_listio64 lio_listio
    62  #define off64_t off_t
    63  #endif
    64  
    65  #if _REDIR_TIME64
    66  __REDIR(aio_suspend, __aio_suspend_time64);
    67  #endif
    68  
    69  #ifdef __cplusplus
    70  }
    71  #endif
    72  
    73  #endif