qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

qmp-event.c (1032B)


      1 /*
      2  * QMP Event related
      3  *
      4  * Copyright (c) 2014 Wenchao Xia
      5  *
      6  * Authors:
      7  *  Wenchao Xia   <wenchaoqemu@gmail.com>
      8  *
      9  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
     10  * See the COPYING.LIB file in the top-level directory.
     11  *
     12  */
     13 
     14 #include "qemu/osdep.h"
     15 
     16 #include "qapi/qmp-event.h"
     17 #include "qapi/qmp/qstring.h"
     18 #include "qapi/qmp/qdict.h"
     19 #include "qapi/qmp/qjson.h"
     20 
     21 static void timestamp_put(QDict *qdict)
     22 {
     23     QDict *ts;
     24     int64_t rt = g_get_real_time();
     25 
     26     ts = qdict_from_jsonf_nofail("{ 'seconds': %lld, 'microseconds': %lld }",
     27                                  (long long)rt / G_USEC_PER_SEC,
     28                                  (long long)rt % G_USEC_PER_SEC);
     29     qdict_put(qdict, "timestamp", ts);
     30 }
     31 
     32 /*
     33  * Build a QDict, then fill event name and time stamp, caller should free the
     34  * QDict after usage.
     35  */
     36 QDict *qmp_event_build_dict(const char *event_name)
     37 {
     38     QDict *dict = qdict_new();
     39     qdict_put_str(dict, "event", event_name);
     40     timestamp_put(dict);
     41     return dict;
     42 }