12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /*
- * Notifier lists
- *
- * Copyright IBM, Corp. 2010
- *
- * Authors:
- * Anthony Liguori <aliguori@us.ibm.com>
- *
- * This work is licensed under the terms of the GNU GPL, version 2. See
- * the COPYING file in the top-level directory.
- *
- */
- #ifndef QEMU_NOTIFY_H
- #define QEMU_NOTIFY_H
- #include "qemu-queue.h"
- typedef struct Notifier Notifier;
- struct Notifier
- {
- void (*notify)(Notifier *notifier, void *data);
- QLIST_ENTRY(Notifier) node;
- };
- typedef struct NotifierList
- {
- QLIST_HEAD(, Notifier) notifiers;
- } NotifierList;
- #define NOTIFIER_LIST_INITIALIZER(head) \
- { QLIST_HEAD_INITIALIZER((head).notifiers) }
- void notifier_list_init(NotifierList *list);
- void notifier_list_add(NotifierList *list, Notifier *notifier);
- void notifier_remove(Notifier *notifier);
- void notifier_list_notify(NotifierList *list, void *data);
- #endif
|