Add qemu_clock_free and expose qemu_new_clock as qemu_clock_new. Expose clock types.
Signed-off-by: Alex Bligh <a...@alex.org.uk> --- include/qemu/timer.h | 22 ++++++++++++++++++++++ qemu-timer.c | 11 ++++++----- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/include/qemu/timer.h b/include/qemu/timer.h index 9dd206c..3dd20bf 100644 --- a/include/qemu/timer.h +++ b/include/qemu/timer.h @@ -11,6 +11,10 @@ #define SCALE_US 1000 #define SCALE_NS 1 +#define QEMU_CLOCK_REALTIME 0 +#define QEMU_CLOCK_VIRTUAL 1 +#define QEMU_CLOCK_HOST 2 + typedef struct QEMUClock QEMUClock; typedef void QEMUTimerCB(void *opaque); @@ -32,6 +36,24 @@ extern QEMUClock *vm_clock; the virtual clock. */ extern QEMUClock *host_clock; +/** + * qemu_clock_new: + * @type: the type of clock to be created + * + * Create a new clock of type @type + * + * Returns: A pointer to the clock object + */ +QEMUClock *qemu_clock_new(int type); + +/** + * qemu_clock_free: + * @clock: the clock to free + * + * Free clock object @clock + */ +void qemu_clock_free(QEMUClock *clock); + int64_t qemu_get_clock_ns(QEMUClock *clock); int64_t qemu_clock_has_timers(QEMUClock *clock); int64_t qemu_clock_expired(QEMUClock *clock); diff --git a/qemu-timer.c b/qemu-timer.c index b2d95e2..531aa05 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -40,10 +40,6 @@ /***********************************************************/ /* timers */ -#define QEMU_CLOCK_REALTIME 0 -#define QEMU_CLOCK_VIRTUAL 1 -#define QEMU_CLOCK_HOST 2 - struct QEMUClock { QEMUTimer *active_timers; @@ -231,7 +227,7 @@ QEMUClock *rt_clock; QEMUClock *vm_clock; QEMUClock *host_clock; -static QEMUClock *qemu_new_clock(int type) +QEMUClock *qemu_clock_new(int type) { QEMUClock *clock; @@ -243,6 +239,11 @@ static QEMUClock *qemu_new_clock(int type) return clock; } +void qemu_clock_free(QEMUClock *clock) +{ + g_free(clock); +} + void qemu_clock_enable(QEMUClock *clock, bool enabled) { bool old = clock->enabled; -- 1.7.9.5