]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/DiskIO/AIO/aio_win32.h
2 * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef __WIN32_AIO_H__
10 #define __WIN32_AIO_H__
12 #if HAVE_DISKIO_MODULE_AIO
15 typedef int64_t off64_t
;
21 int sival_int
; /* integer value */
22 void *sival_ptr
; /* pointer value */
26 int sigev_notify
; /* notification mode */
27 int sigev_signo
; /* signal number */
28 union sigval sigev_value
; /* signal value */
34 int aio_fildes
; /* file descriptor */
35 void *aio_buf
; /* buffer location */
36 size_t aio_nbytes
; /* length of transfer */
37 off64_t aio_offset
; /* file offset */
38 int aio_reqprio
; /* request priority offset */
40 struct sigevent aio_sigevent
; /* signal number and offset */
41 int aio_lio_opcode
; /* listio operation */
45 int aio_fildes
; /* file descriptor */
46 void *aio_buf
; /* buffer location */
47 size_t aio_nbytes
; /* length of transfer */
48 #if (_FILE_OFFSET_BITS == 64)
50 off64_t aio_offset
; /* file offset */
53 off_t aio_offset
; /* file offset */
56 int aio_reqprio
; /* request priority offset */
58 struct sigevent aio_sigevent
; /* signal number and offset */
59 int aio_lio_opcode
; /* listio operation */
62 int aio_read(struct aiocb
*);
64 int aio_write(struct aiocb
*);
66 ssize_t
aio_return(struct aiocb
*);
68 int aio_error(const struct aiocb
*);
70 int aio_read64(struct aiocb64
*);
72 int aio_write64(struct aiocb64
*);
74 ssize_t
aio_return64(struct aiocb64
*);
76 int aio_error64(const struct aiocb64
*);
77 int aio_open(const char *, int);
80 #endif /* _SQUID_WINDOWS_ */
81 #endif /* HAVE_DISKIO_MODULE_AIO */
82 #endif /* __WIN32_AIO_H__ */