[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv11 14/31] aio / timers: Add aio_timer_init & aio_tim
From: |
Alex Bligh |
Subject: |
[Qemu-devel] [PATCHv11 14/31] aio / timers: Add aio_timer_init & aio_timer_new wrappers |
Date: |
Thu, 15 Aug 2013 21:34:22 +0100 |
Add aio_timer_init and aio_timer_new wrapper functions.
Signed-off-by: Alex Bligh <address@hidden>
---
include/block/aio.h | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/include/block/aio.h b/include/block/aio.h
index 84d7366..d19d9d2 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -256,4 +256,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
--
1.7.9.5
- [Qemu-devel] [PATCHv11 04/31] aio / timers: Consistent treatment of disabled clocks for deadlines, (continued)
- [Qemu-devel] [PATCHv11 04/31] aio / timers: Consistent treatment of disabled clocks for deadlines, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 03/31] aio / timers: add qemu-timer.c utility functions, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 06/31] aio / timers: Add prctl(PR_SET_TIMERSLACK, 1, ...) to reduce timer slack, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 07/31] aio / timers: Make qemu_run_timers and qemu_run_all_timers return progress, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 05/31] aio / timers: add ppoll support with qemu_poll_ns, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 01/31] aio / timers: Rename qemu_timer_* functions, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 11/31] aio / timers: Add QEMUTimerListGroup to AioContext, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 10/31] aio / timers: Add QEMUTimerListGroup and helper functions, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 09/31] aio / timers: Untangle include files, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 12/31] aio / timers: Add a notify callback to QEMUTimerList, Alex Bligh, 2013/08/15
- [Qemu-devel] [PATCHv11 14/31] aio / timers: Add aio_timer_init & aio_timer_new wrappers,
Alex Bligh <=
- [Qemu-devel] [PATCHv11 13/31] aio / timers: aio_ctx_prepare sets timeout from AioContext timers, Alex Bligh, 2013/08/15
- Re: [Qemu-devel] [PATCHv11 13/31] aio / timers: aio_ctx_prepare sets timeout from AioContext timers, Wenchao Xia, 2013/08/19
- Re: [Qemu-devel] [PATCHv11 13/31] aio / timers: aio_ctx_prepare sets timeout from AioContext timers, Alex Bligh, 2013/08/20
- Re: [Qemu-devel] [PATCHv11 13/31] aio / timers: aio_ctx_prepare sets timeout from AioContext timers, Wenchao Xia, 2013/08/20
- Re: [Qemu-devel] [PATCHv11 13/31] aio / timers: aio_ctx_prepare sets timeout from AioContext timers, Alex Bligh, 2013/08/20
- Re: [Qemu-devel] [PATCHv11 13/31] aio / timers: aio_ctx_prepare sets timeout from AioContext timers, Wenchao Xia, 2013/08/20
- Re: [Qemu-devel] [PATCHv11 13/31] aio / timers: aio_ctx_prepare sets timeout from AioContext timers, Alex Bligh, 2013/08/20
Re: [Qemu-devel] [PATCHv11 13/31] aio / timers: aio_ctx_prepare sets timeout from AioContext timers, Stefan Hajnoczi, 2013/08/21
[Qemu-devel] [PATCHv11 17/31] aio / timers: On timer modification, qemu_notify or aio_notify, Alex Bligh, 2013/08/15