]>
Commit | Line | Data |
---|---|---|
6b620ca3 PB |
1 | /* |
2 | * event notifier support | |
3 | * | |
4 | * Copyright Red Hat, Inc. 2010 | |
5 | * | |
6 | * Authors: | |
7 | * Michael S. Tsirkin <[email protected]> | |
8 | * | |
9 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
10 | * See the COPYING file in the top-level directory. | |
11 | */ | |
12 | ||
2292b339 MT |
13 | #ifndef QEMU_EVENT_NOTIFIER_H |
14 | #define QEMU_EVENT_NOTIFIER_H | |
15 | ||
16 | #include "qemu-common.h" | |
17 | ||
fc97a652 PB |
18 | #ifdef _WIN32 |
19 | #include <windows.h> | |
20 | #endif | |
21 | ||
2292b339 | 22 | struct EventNotifier { |
fc97a652 PB |
23 | #ifdef _WIN32 |
24 | HANDLE event; | |
25 | #else | |
d0cc2fbf PB |
26 | int rfd; |
27 | int wfd; | |
fc97a652 | 28 | #endif |
2292b339 MT |
29 | }; |
30 | ||
6bf819f0 PB |
31 | typedef void EventNotifierHandler(EventNotifier *); |
32 | ||
2292b339 MT |
33 | int event_notifier_init(EventNotifier *, int active); |
34 | void event_notifier_cleanup(EventNotifier *); | |
2ec10b95 | 35 | int event_notifier_set(EventNotifier *); |
2292b339 | 36 | int event_notifier_test_and_clear(EventNotifier *); |
6bf819f0 | 37 | int event_notifier_set_handler(EventNotifier *, EventNotifierHandler *); |
2292b339 | 38 | |
fc97a652 PB |
39 | #ifdef CONFIG_POSIX |
40 | void event_notifier_init_fd(EventNotifier *, int fd); | |
41 | int event_notifier_get_fd(EventNotifier *); | |
42 | #else | |
43 | HANDLE event_notifier_get_handle(EventNotifier *); | |
44 | #endif | |
45 | ||
2292b339 | 46 | #endif |