2 * Self-announce facility
3 * (c) 2017-2019 Red Hat, Inc.
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.
9 #ifndef QEMU_NET_ANNOUNCE_H
10 #define QEMU_NET_ANNOUNCE_H
12 #include "qapi/qapi-types-net.h"
13 #include "qemu/timer.h"
15 struct AnnounceTimer
{
17 AnnounceParameters params
;
22 /* Returns: update the timer to the next time point */
23 int64_t qemu_announce_timer_step(AnnounceTimer
*timer
);
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.
30 void qemu_announce_timer_del(AnnounceTimer
*timer
, bool free_named
);
33 * Under BQL/main thread
34 * Reset the timer to the given parameters/type/notifier.
36 void qemu_announce_timer_reset(AnnounceTimer
*timer
,
37 AnnounceParameters
*params
,
42 void qemu_announce_self(AnnounceTimer
*timer
, AnnounceParameters
*params
);