Statistics
| Branch: | Revision:

root / block / raw-posix-aio.h @ 9ef91a67

History | View | Annotate | Download (1 kB)

1
/*
2
 * QEMU Posix block I/O backend AIO support
3
 *
4
 * Copyright IBM, Corp. 2008
5
 *
6
 * Authors:
7
 *  Anthony Liguori   <aliguori@us.ibm.com>
8
 *
9
 * This work is licensed under the terms of the GNU GPL, version 2.  See
10
 * the COPYING file in the top-level directory.
11
 *
12
 */
13
#ifndef QEMU_RAW_POSIX_AIO_H
14
#define QEMU_RAW_POSIX_AIO_H
15

    
16
/* AIO request types */
17
#define QEMU_AIO_READ         0x0001
18
#define QEMU_AIO_WRITE        0x0002
19
#define QEMU_AIO_IOCTL        0x0004
20
#define QEMU_AIO_TYPE_MASK \
21
        (QEMU_AIO_READ|QEMU_AIO_WRITE|QEMU_AIO_IOCTL)
22

    
23
/* AIO flags */
24
#define QEMU_AIO_MISALIGNED   0x1000
25

    
26

    
27
/* posix-aio-compat.c - thread pool based implementation */
28
void *paio_init(void);
29
BlockDriverAIOCB *paio_submit(BlockDriverState *bs, void *aio_ctx, int fd,
30
        int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,
31
        BlockDriverCompletionFunc *cb, void *opaque, int type);
32
BlockDriverAIOCB *paio_ioctl(BlockDriverState *bs, int fd,
33
        unsigned long int req, void *buf,
34
        BlockDriverCompletionFunc *cb, void *opaque);
35

    
36
#endif /* QEMU_RAW_POSIX_AIO_H */