@@ -7,6 +7,7 @@
/* timers */
+#define SCALE_S 1000000000
#define SCALE_MS 1000000
#define SCALE_US 1000
#define SCALE_NS 1
@@ -81,6 +82,20 @@ extern QEMUTimerListGroup main_loop_tlg;
int64_t qemu_clock_get_ns(QEMUClockType type);
/**
+ * qemu_clock_get_s;
+ * @type: the clock type
+ *
+ * Get the second value of a clock with
+ * type @type
+ *
+ * Returns: the clock value in seconds
+ */
+static inline int64_t qemu_clock_get_s(QEMUClockType type)
+{
+ return qemu_clock_get_ns(type) / SCALE_S;
+}
+
+/**
* qemu_clock_get_ms;
* @type: the clock type
*
@@ -508,6 +523,23 @@ static inline QEMUTimer *timer_new_ms(QEMUClockType type, QEMUTimerCB *cb,
}
/**
+ * timer_new_s:
+ * @clock: the clock to associate with the timer
+ * @callback: the callback to call when the timer expires
+ * @opaque: the opaque pointer to pass to the callback
+ *
+ * Create a new timer with second scale on the default timer list
+ * associated with the clock.
+ *
+ * Returns: a pointer to the newly created timer
+ */
+static inline QEMUTimer *timer_new_s(QEMUClockType type, QEMUTimerCB *cb,
+ void *opaque)
+{
+ return timer_new(type, SCALE_S, cb, opaque);
+}
+
+/**
* timer_free:
* @ts: the timer
*