On 03/02/2013 01:02 AM, Eric Blake wrote:
On 03/01/2013 02:32 AM, Lei Li wrote:
Signed-off-by: Lei Li <li...@linux.vnet.ibm.com>
---
qga/commands-posix.c | 16 ++++++++++++++++
qga/qapi-schema.json | 16 ++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index 0ad73f3..f159e25 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -119,6 +119,22 @@ void qmp_guest_shutdown(bool has_mode, const char *mode,
Error **err)
/* succeded */
}
+int64_t qmp_guest_get_time(Error **errp)
+{
+ int ret;
+ qemu_timeval tq;
+ int64_t time_ns;
+
+ ret = qemu_gettimeofday(&tq);
+ if (ret < 0) {
+ error_setg_errno(errp, errno, "Failed to get time");
+ return -1;
+ }
+
+ time_ns = tq.tv_sec * 1000000000LL + tq.tv_usec * 1000;
Is it worth a sanity check that the tv_sec scaling doesn't overflow? Of
course, that won't happen until far into the future (well beyond the
2038 overflow of 32-bit seconds since Epoch), so it won't hit in OUR
lifetime, so I can look the other way.
##
+# @guest-get-time:
+#
+# Get the information about guest time relative to the Epoch
+# of 1970-01-01 in UTC/GMT.
UTC and GMT are not the same thing. I'd drop the '/GMT'.
http://www.diffen.com/difference/GMT_vs_UTC
Oh, good to know! :)
Thanks.
+#
+# This command try to get the guest's notion of the current
+# time.
This sentence is redundant with the first one, and has grammar issues.
Drop it.
Sure.
+#
+# Returns: Time in nanoseconds on success.
+#
+# Since 1.5
+##
+{ 'command': 'guest-get-time',
+ 'returns': 'int' }
+
+##
# @GuestAgentCommandInfo:
#
# Information about guest agent commands.
--
Lei