qemu

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

announce.h (1235B)


      1 /*
      2  *  Self-announce facility
      3  *  (c) 2017-2019 Red Hat, Inc.
      4  *
      5  * This work is licensed under the terms of the GNU GPL, version 2 or later.
      6  * See the COPYING file in the top-level directory.
      7  */
      8 
      9 #ifndef QEMU_NET_ANNOUNCE_H
     10 #define QEMU_NET_ANNOUNCE_H
     11 
     12 #include "qapi/qapi-types-net.h"
     13 #include "qemu/timer.h"
     14 
     15 struct AnnounceTimer {
     16     QEMUTimer *tm;
     17     AnnounceParameters params;
     18     QEMUClockType type;
     19     int round;
     20 };
     21 
     22 /* Returns: update the timer to the next time point */
     23 int64_t qemu_announce_timer_step(AnnounceTimer *timer);
     24 
     25 /*
     26  * Delete the underlying timer and other data
     27  * If 'free_named' true and the timer is a named timer, then remove
     28  * it from the list of named timers and free the AnnounceTimer itself.
     29  */
     30 void qemu_announce_timer_del(AnnounceTimer *timer, bool free_named);
     31 
     32 /*
     33  * Under BQL/main thread
     34  * Reset the timer to the given parameters/type/notifier.
     35  */
     36 void qemu_announce_timer_reset(AnnounceTimer *timer,
     37                                AnnounceParameters *params,
     38                                QEMUClockType type,
     39                                QEMUTimerCB *cb,
     40                                void *opaque);
     41 
     42 void qemu_announce_self(AnnounceTimer *timer, AnnounceParameters *params);
     43 
     44 #endif