aio.h (9468484fe904ab4691de6d9c34616667f377ceac) aio.h (3cbc17ee92479ff56d0d6afecc0def6f7ec01153)
1/*
2 * QEMU aio implementation
3 *
4 * Copyright IBM, Corp. 2008
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *

--- 41 unchanged lines hidden (view full) ---

50typedef struct AioHandler AioHandler;
51typedef QLIST_HEAD(, AioHandler) AioHandlerList;
52typedef void QEMUBHFunc(void *opaque);
53typedef bool AioPollFn(void *opaque);
54typedef void IOHandler(void *opaque);
55
56struct ThreadPool;
57struct LinuxAioState;
1/*
2 * QEMU aio implementation
3 *
4 * Copyright IBM, Corp. 2008
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *

--- 41 unchanged lines hidden (view full) ---

50typedef struct AioHandler AioHandler;
51typedef QLIST_HEAD(, AioHandler) AioHandlerList;
52typedef void QEMUBHFunc(void *opaque);
53typedef bool AioPollFn(void *opaque);
54typedef void IOHandler(void *opaque);
55
56struct ThreadPool;
57struct LinuxAioState;
58struct LuringState;
58typedef struct LuringState LuringState;
59
60/* Is polling disabled? */
61bool aio_poll_disabled(AioContext *ctx);
62
63/* Callbacks for file descriptor monitoring implementations */
64typedef struct {
65 /*
66 * update:

--- 140 unchanged lines hidden (view full) ---

207 * Has its own locking.
208 */
209 struct ThreadPool *thread_pool;
210
211#ifdef CONFIG_LINUX_AIO
212 struct LinuxAioState *linux_aio;
213#endif
214#ifdef CONFIG_LINUX_IO_URING
59
60/* Is polling disabled? */
61bool aio_poll_disabled(AioContext *ctx);
62
63/* Callbacks for file descriptor monitoring implementations */
64typedef struct {
65 /*
66 * update:

--- 140 unchanged lines hidden (view full) ---

207 * Has its own locking.
208 */
209 struct ThreadPool *thread_pool;
210
211#ifdef CONFIG_LINUX_AIO
212 struct LinuxAioState *linux_aio;
213#endif
214#ifdef CONFIG_LINUX_IO_URING
215 struct LuringState *linux_io_uring;
215 LuringState *linux_io_uring;
216
217 /* State for file descriptor monitoring using Linux io_uring */
218 struct io_uring fdmon_io_uring;
219 AioHandlerSList submit_list;
220#endif
221
222 /* TimerLists for calling timers - one per clock type. Has its own
223 * locking.

--- 275 unchanged lines hidden (view full) ---

499
500/* Setup the LinuxAioState bound to this AioContext */
501struct LinuxAioState *aio_setup_linux_aio(AioContext *ctx, Error **errp);
502
503/* Return the LinuxAioState bound to this AioContext */
504struct LinuxAioState *aio_get_linux_aio(AioContext *ctx);
505
506/* Setup the LuringState bound to this AioContext */
216
217 /* State for file descriptor monitoring using Linux io_uring */
218 struct io_uring fdmon_io_uring;
219 AioHandlerSList submit_list;
220#endif
221
222 /* TimerLists for calling timers - one per clock type. Has its own
223 * locking.

--- 275 unchanged lines hidden (view full) ---

499
500/* Setup the LinuxAioState bound to this AioContext */
501struct LinuxAioState *aio_setup_linux_aio(AioContext *ctx, Error **errp);
502
503/* Return the LinuxAioState bound to this AioContext */
504struct LinuxAioState *aio_get_linux_aio(AioContext *ctx);
505
506/* Setup the LuringState bound to this AioContext */
507struct LuringState *aio_setup_linux_io_uring(AioContext *ctx, Error **errp);
507LuringState *aio_setup_linux_io_uring(AioContext *ctx, Error **errp);
508
509/* Return the LuringState bound to this AioContext */
508
509/* Return the LuringState bound to this AioContext */
510struct LuringState *aio_get_linux_io_uring(AioContext *ctx);
510LuringState *aio_get_linux_io_uring(AioContext *ctx);
511/**
512 * aio_timer_new_with_attrs:
513 * @ctx: the aio context
514 * @type: the clock type
515 * @scale: the scale
516 * @attributes: 0, or one to multiple OR'ed QEMU_TIMER_ATTR_<id> values
517 * to assign
518 * @cb: the callback to call on timer expiry

--- 194 unchanged lines hidden ---
511/**
512 * aio_timer_new_with_attrs:
513 * @ctx: the aio context
514 * @type: the clock type
515 * @scale: the scale
516 * @attributes: 0, or one to multiple OR'ed QEMU_TIMER_ATTR_<id> values
517 * to assign
518 * @cb: the callback to call on timer expiry

--- 194 unchanged lines hidden ---