diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2022-04-10 15:53:43 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-04-10 15:53:52 +0200 |
commit | e7721e7fa54e4380533cf03875faadc5a67af4b7 (patch) | |
tree | 9e3e93d19c41484b0434f4305cc6da4c13455d74 /test | |
parent | 8e6b6d04b11d3a2a4fd8413555414c5f8e500915 (diff) | |
download | slirp-e7721e7fa54e4380533cf03875faadc5a67af4b7.zip slirp-e7721e7fa54e4380533cf03875faadc5a67af4b7.tar.gz slirp-e7721e7fa54e4380533cf03875faadc5a67af4b7.tar.bz2 |
pingtest: port to timer_new_opaque
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/pingtest.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/test/pingtest.c b/test/pingtest.c index 15249f0..3bb0488 100644 --- a/test/pingtest.c +++ b/test/pingtest.c @@ -196,7 +196,7 @@ static int64_t clock_get_ns(void *opaque) { } struct timer { - SlirpTimerCb cb; + SlirpTimerId id; void *cb_opaque; int64_t expire; struct timer *next; @@ -204,9 +204,9 @@ struct timer { static struct timer *timer_queue; -static void *timer_new(SlirpTimerCb cb, void *cb_opaque, void *opaque) { +static void *timer_new_opaque(SlirpTimerId id, void *cb_opaque, void *opaque) { struct timer *new_timer = malloc(sizeof(*new_timer)); - new_timer->cb = cb; + new_timer->id = id; new_timer->cb_opaque = cb_opaque; new_timer->next = NULL; return new_timer; @@ -242,14 +242,14 @@ static void timer_mod(void *_timer, int64_t expire_time, void *opaque) { *t = timer; } -static void timer_check(void) { +static void timer_check(Slirp *slirp) { while (timer_queue && timer_queue->expire <= mytime) { struct timer *t = timer_queue; printf("handling %p at time %lu\n", t, (unsigned long) timer_queue->expire); timer_queue = t->next; - t->cb(t->cb_opaque); + slirp_handle_timer(slirp, t->id, t->cb_opaque); } } @@ -378,7 +378,7 @@ static struct SlirpCb callbacks = { .send_packet = send_packet, .guest_error = guest_error, .clock_get_ns = clock_get_ns, - .timer_new = timer_new, + .timer_new_opaque = timer_new_opaque, .timer_free = timer_free, .timer_mod = timer_mod, .register_poll_fd = register_poll_fd, @@ -389,7 +389,7 @@ static struct SlirpCb callbacks = { int main(int argc, char *argv[]) { SlirpConfig config = { - .version = 3, + .version = 4, .restricted = false, .in_enabled = true, .vnetwork.s_addr = htonl(0x0a000200), @@ -472,7 +472,7 @@ int main(int argc, char *argv[]) { while (!done) { printf("time %lu\n", (unsigned long) mytime); - timer_check(); + timer_check(slirp); /* Here we make the virtual time wait like the real time, but we could * make it wait differently */ timeout = timer_timeout(); |