qemu/include/net/announce.h
<<
>>
Prefs
   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
  15struct 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 */
  23int64_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 */
  30void 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 */
  36void qemu_announce_timer_reset(AnnounceTimer *timer,
  37                               AnnounceParameters *params,
  38                               QEMUClockType type,
  39                               QEMUTimerCB *cb,
  40                               void *opaque);
  41
  42void qemu_announce_self(AnnounceTimer *timer, AnnounceParameters *params);
  43
  44#endif
  45