12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*
- * Event loop with file descriptor polling
- *
- * Copyright 2012 IBM, Corp.
- * Copyright 2012 Red Hat, Inc. and/or its affiliates
- *
- * Authors:
- * Stefan Hajnoczi <stefanha@redhat.com>
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- *
- */
- #ifndef EVENT_POLL_H
- #define EVENT_POLL_H
- #include "qemu/event_notifier.h"
- typedef struct EventHandler EventHandler;
- typedef void EventCallback(EventHandler *handler);
- struct EventHandler {
- EventNotifier *notifier; /* eventfd */
- EventCallback *callback; /* callback function */
- };
- typedef struct {
- int epoll_fd; /* epoll(2) file descriptor */
- EventNotifier stop_notifier; /* stop poll notifier */
- EventHandler stop_handler; /* stop poll handler */
- } EventPoll;
- void event_poll_add(EventPoll *poll, EventHandler *handler,
- EventNotifier *notifier, EventCallback *callback);
- void event_poll_init(EventPoll *poll);
- void event_poll_cleanup(EventPoll *poll);
- void event_poll(EventPoll *poll);
- void event_poll_notify(EventPoll *poll);
- #endif /* EVENT_POLL_H */
|