File:  [Qemu by Fabrice Bellard] / qemu / notify.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 18:55:35 2018 UTC (2 years, 3 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu1001, qemu1000, qemu0151, HEAD
qemu 0.15.1

    1: /*
    2:  * Notifier lists
    3:  *
    4:  * Copyright IBM, Corp. 2010
    5:  *
    6:  * Authors:
    7:  *  Anthony Liguori   <aliguori@us.ibm.com>
    8:  *
    9:  * This work is licensed under the terms of the GNU GPL, version 2.  See
   10:  * the COPYING file in the top-level directory.
   11:  *
   12:  */
   13: 
   14: #ifndef QEMU_NOTIFY_H
   15: #define QEMU_NOTIFY_H
   16: 
   17: #include "qemu-queue.h"
   18: 
   19: typedef struct Notifier Notifier;
   20: 
   21: struct Notifier
   22: {
   23:     void (*notify)(Notifier *notifier, void *data);
   24:     QTAILQ_ENTRY(Notifier) node;
   25: };
   26: 
   27: typedef struct NotifierList
   28: {
   29:     QTAILQ_HEAD(, Notifier) notifiers;
   30: } NotifierList;
   31: 
   32: #define NOTIFIER_LIST_INITIALIZER(head) \
   33:     { QTAILQ_HEAD_INITIALIZER((head).notifiers) }
   34: 
   35: void notifier_list_init(NotifierList *list);
   36: 
   37: void notifier_list_add(NotifierList *list, Notifier *notifier);
   38: 
   39: void notifier_list_remove(NotifierList *list, Notifier *notifier);
   40: 
   41: void notifier_list_notify(NotifierList *list, void *data);
   42: 
   43: #endif

unix.superglobalmegacorp.com