Commit 6912e6a9 authored by Lei Li's avatar Lei Li Committed by Michael Roth
Browse files

qga: add guest-get-time command



Signed-off-by: default avatarLei Li <lilei@linux.vnet.ibm.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>

*added stub for w32

Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
parent 39097daf
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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;
+6 −0
Original line number Diff line number Diff line
@@ -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)
{
+13 −0
Original line number Diff line number Diff line
@@ -82,6 +82,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:
#