diff options
author | David Turner <digit@android.com> | 2010-09-10 10:42:32 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2010-09-13 00:30:34 -0700 |
commit | d06599430ac907d1a89bbfda4bf3621f909aac8e (patch) | |
tree | 196c05a749a555b4b42b29622a7fa23913fa72d0 /block | |
parent | a25351325187eb8eff8b9b090acd8f2d7684c6ff (diff) | |
download | external_qemu-d06599430ac907d1a89bbfda4bf3621f909aac8e.zip external_qemu-d06599430ac907d1a89bbfda4bf3621f909aac8e.tar.gz external_qemu-d06599430ac907d1a89bbfda4bf3621f909aac8e.tar.bz2 |
upstream: qemu-common.h updates.
Diffstat (limited to 'block')
-rw-r--r-- | block/raw-posix-aio.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/block/raw-posix-aio.h b/block/raw-posix-aio.h new file mode 100644 index 0000000..dfc63b8 --- /dev/null +++ b/block/raw-posix-aio.h @@ -0,0 +1,43 @@ +/* + * QEMU Posix block I/O backend AIO support + * + * Copyright IBM, Corp. 2008 + * + * Authors: + * Anthony Liguori <aliguori@us.ibm.com> + * + * This work is licensed under the terms of the GNU GPL, version 2. See + * the COPYING file in the top-level directory. + * + */ +#ifndef QEMU_RAW_POSIX_AIO_H +#define QEMU_RAW_POSIX_AIO_H + +/* AIO request types */ +#define QEMU_AIO_READ 0x0001 +#define QEMU_AIO_WRITE 0x0002 +#define QEMU_AIO_IOCTL 0x0004 +#define QEMU_AIO_FLUSH 0x0008 +#define QEMU_AIO_TYPE_MASK \ + (QEMU_AIO_READ|QEMU_AIO_WRITE|QEMU_AIO_IOCTL|QEMU_AIO_FLUSH) + +/* AIO flags */ +#define QEMU_AIO_MISALIGNED 0x1000 + + +/* posix-aio-compat.c - thread pool based implementation */ +int paio_init(void); +BlockDriverAIOCB *paio_submit(BlockDriverState *bs, int fd, + int64_t sector_num, QEMUIOVector *qiov, int nb_sectors, + BlockDriverCompletionFunc *cb, void *opaque, int type); +BlockDriverAIOCB *paio_ioctl(BlockDriverState *bs, int fd, + unsigned long int req, void *buf, + BlockDriverCompletionFunc *cb, void *opaque); + +/* linux-aio.c - Linux native implementation */ +void *laio_init(void); +BlockDriverAIOCB *laio_submit(BlockDriverState *bs, void *aio_ctx, int fd, + int64_t sector_num, QEMUIOVector *qiov, int nb_sectors, + BlockDriverCompletionFunc *cb, void *opaque, int type); + +#endif /* QEMU_RAW_POSIX_AIO_H */ |