[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/9] qga: add guest-get-time command
From: |
Michael Roth |
Subject: |
[Qemu-devel] [PATCH 5/9] qga: add guest-get-time command |
Date: |
Mon, 11 Mar 2013 19:53:16 -0500 |
From: Lei Li <address@hidden>
Signed-off-by: Lei Li <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
*added stub for w32
Signed-off-by: Michael Roth <address@hidden>
---
qga/commands-posix.c | 16 ++++++++++++++++
qga/commands-win32.c | 6 ++++++
qga/qapi-schema.json | 13 +++++++++++++
3 files changed, 35 insertions(+)
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index 1c2aff3..c83d26d 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;
+ return time_ns;
+}
+
typedef struct GuestFileHandle {
uint64_t id;
FILE *fh;
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
index 7e8ecb3..3ebb856 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -278,6 +278,12 @@ GuestNetworkInterfaceList
*qmp_guest_network_get_interfaces(Error **err)
return NULL;
}
+int64_t qmp_guest_get_time(Error **errp)
+{
+ error_set(errp, QERR_UNSUPPORTED);
+ return -1;
+}
+
/* register init/cleanup routines for stateful command groups */
void ga_command_state_init(GAState *s, GACommandState *cs)
{
diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json
index d91d903..bb0f75e 100644
--- a/qga/qapi-schema.json
+++ b/qga/qapi-schema.json
@@ -83,6 +83,19 @@
{ 'command': 'guest-ping' }
##
+# @guest-get-time:
+#
+# Get the information about guest time relative to the Epoch
+# of 1970-01-01 in UTC.
+#
+# Returns: Time in nanoseconds.
+#
+# Since 1.5
+##
+{ 'command': 'guest-get-time',
+ 'returns': 'int' }
+
+##
# @GuestAgentCommandInfo:
#
# Information about guest agent commands.
--
1.7.9.5
- [Qemu-devel] [PULL 0/9] qemu-ga fixes and {get, set}-{time, vcpus} commands, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 1/9] qga: cast to int for DWORD type, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 2/9] qemu-ga: fix confusing GAChannelMethod comparison, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 3/9] qemu-ga: make guest-sync-delimited available during fsfreeze, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 5/9] qga: add guest-get-time command,
Michael Roth <=
- [Qemu-devel] [PATCH 6/9] qga: add guest-set-time command, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 7/9] qga: introduce guest-get-vcpus / guest-set-vcpus with stubs, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 9/9] qga: implement qmp_guest_set_vcpus() for Linux with sysfs, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 4/9] qemu-ga: use key-value store to avoid recycling fd handles after restart, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 8/9] qga: implement qmp_guest_get_vcpus() for Linux with sysfs, Michael Roth, 2013/03/11