From: Alex Bligh Date: Wed, 21 Aug 2013 15:02:52 +0000 (+0100) Subject: aio / timers: Add aio_timer_init & aio_timer_new wrappers X-Git-Tag: qemu-xen-4.5.0-rc1~519^2~20 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=4e29e8311a53025a06433382768b82111c0bb80c;p=qemu-upstream-4.6-testing.git aio / timers: Add aio_timer_init & aio_timer_new wrappers Add aio_timer_init and aio_timer_new wrapper functions. Signed-off-by: Alex Bligh Signed-off-by: Stefan Hajnoczi --- diff --git a/include/block/aio.h b/include/block/aio.h index 06f3aadb3..2efdf416c 100644 --- a/include/block/aio.h +++ b/include/block/aio.h @@ -246,4 +246,47 @@ void qemu_aio_set_fd_handler(int fd, void *opaque); #endif +/** + * aio_timer_new: + * @ctx: the aio context + * @type: the clock type + * @scale: the scale + * @cb: the callback to call on timer expiry + * @opaque: the opaque pointer to pass to the callback + * + * Allocate a new timer attached to the context @ctx. + * The function is responsible for memory allocation. + * + * The preferred interface is aio_timer_init. Use that + * unless you really need dynamic memory allocation. + * + * Returns: a pointer to the new timer + */ +static inline QEMUTimer *aio_timer_new(AioContext *ctx, QEMUClockType type, + int scale, + QEMUTimerCB *cb, void *opaque) +{ + return timer_new_tl(ctx->tlg.tl[type], scale, cb, opaque); +} + +/** + * aio_timer_init: + * @ctx: the aio context + * @ts: the timer + * @type: the clock type + * @scale: the scale + * @cb: the callback to call on timer expiry + * @opaque: the opaque pointer to pass to the callback + * + * Initialise a new timer attached to the context @ctx. + * The caller is responsible for memory allocation. + */ +static inline void aio_timer_init(AioContext *ctx, + QEMUTimer *ts, QEMUClockType type, + int scale, + QEMUTimerCB *cb, void *opaque) +{ + timer_init(ts, ctx->tlg.tl[type], scale, cb, opaque); +} + #endif