]>
Commit | Line | Data |
---|---|---|
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 | ||
13 | #ifndef QEMU_EVENT_NOTIFIER_H | |
14 | #define QEMU_EVENT_NOTIFIER_H | |
15 | ||
16 | #include "qemu-common.h" | |
17 | ||
18 | #ifdef _WIN32 | |
19 | #include <windows.h> | |
20 | #endif | |
21 | ||
22 | struct EventNotifier { | |
23 | #ifdef _WIN32 | |
24 | HANDLE event; | |
25 | #else | |
26 | int rfd; | |
27 | int wfd; | |
28 | #endif | |
29 | }; | |
30 | ||
31 | typedef void EventNotifierHandler(EventNotifier *); | |
32 | ||
33 | int event_notifier_init(EventNotifier *, int active); | |
34 | void event_notifier_cleanup(EventNotifier *); | |
35 | int event_notifier_set(EventNotifier *); | |
36 | int event_notifier_test_and_clear(EventNotifier *); | |
37 | int event_notifier_set_handler(EventNotifier *, EventNotifierHandler *); | |
38 | ||
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 | ||
46 | #endif |