1 /* 2 * event notifier support 3 * 4 * Copyright Red Hat, Inc. 2010 5 * 6 * Authors: 7 * Michael S. Tsirkin <mst@redhat.com> 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 17 #ifdef _WIN32 18 #include <windows.h> 19 #endif 20 21 struct EventNotifier { 22 #ifdef _WIN32 23 HANDLE event; 24 #else 25 int rfd; 26 int wfd; 27 bool initialized; 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 38 #ifdef CONFIG_POSIX 39 void event_notifier_init_fd(EventNotifier *, int fd); 40 int event_notifier_get_fd(const EventNotifier *); 41 int event_notifier_get_wfd(const EventNotifier *); 42 #else 43 HANDLE event_notifier_get_handle(EventNotifier *); 44 #endif 45 46 #endif 47