Changes in kernel/generic/include/ipc/event.h [228e490:c2cf033] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ipc/event.h
r228e490 rc2cf033 36 36 #define KERN_EVENT_H_ 37 37 38 #include < ipc/event_types.h>38 #include <abi/ipc/event.h> 39 39 #include <typedefs.h> 40 40 #include <synch/spinlock.h> 41 41 #include <ipc/ipc.h> 42 43 struct task; 44 45 typedef void (*event_callback_t)(void *); 42 46 43 47 /** Event notification structure. */ … … 51 55 /** Counter. */ 52 56 size_t counter; 57 58 /** Masked flag. */ 59 bool masked; 60 /** Unmask callback. */ 61 event_callback_t unmask_callback; 53 62 } event_t; 54 63 55 64 extern void event_init(void); 65 extern void event_task_init(struct task *); 66 extern void event_cleanup_answerbox(answerbox_t *); 67 extern void event_set_unmask_callback(event_type_t, event_callback_t); 68 extern void event_task_set_unmask_callback(struct task *, event_task_type_t, 69 event_callback_t); 70 71 #define event_notify_0(e, m) \ 72 event_notify((e), (m), 0, 0, 0, 0, 0) 73 #define event_notify_1(e, m, a1) \ 74 event_notify((e), (m), (a1), 0, 0, 0, 0) 75 #define event_notify_2(e, m, a1, a2) \ 76 event_notify((e), (m), (a1), (a2), 0, 0, 0) 77 #define event_notify_3(e, m, a1, a2, a3) \ 78 event_notify((e), (m), (a1), (a2), (a3), 0, 0) 79 #define event_notify_4(e, m, a1, a2, a3, a4) \ 80 event_notify((e), (m), (a1), (a2), (a3), (a4), 0) 81 #define event_notify_5(e, m, a1, a2, a3, a4, a5) \ 82 event_notify((e), (m), (a1), (a2), (a3), (a4), (a5)) 83 84 #define event_task_notify_0(t, e, m) \ 85 event_task_notify((t), (e), (m), 0, 0, 0, 0, 0) 86 #define event_task_notify_1(t, e, m, a1) \ 87 event_task_notify((t), (e), (m), (a1), 0, 0, 0, 0) 88 #define event_task_notify_2(t, e, m, a1, a2) \ 89 event_task_notify((t), (e), (m), (a1), (a2), 0, 0, 0) 90 #define event_task_notify_3(t, e, m, a1, a2, a3) \ 91 event_task_notify((t), (e), (m), (a1), (a2), (a3), 0, 0) 92 #define event_task_notify_4(t, e, m, a1, a2, a3, a4) \ 93 event_task_notify((t), (e), (m), (a1), (a2), (a3), (a4), 0) 94 #define event_task_notify_5(t, e, m, a1, a2, a3, a4, a5) \ 95 event_task_notify((t), (e), (m), (a1), (a2), (a3), (a4), (a5)) 96 97 extern int event_notify(event_type_t, bool, sysarg_t, sysarg_t, sysarg_t, 98 sysarg_t, sysarg_t); 99 extern int event_task_notify(struct task *, event_task_type_t, bool, sysarg_t, sysarg_t, 100 sysarg_t, sysarg_t, sysarg_t); 101 56 102 extern sysarg_t sys_event_subscribe(sysarg_t, sysarg_t); 57 extern bool event_is_subscribed(event_type_t); 58 extern void event_cleanup_answerbox(answerbox_t *); 59 60 #define event_notify_0(e) \ 61 event_notify((e), 0, 0, 0, 0, 0) 62 #define event_notify_1(e, a1) \ 63 event_notify((e), (a1), 0, 0, 0, 0) 64 #define event_notify_2(e, a1, a2) \ 65 event_notify((e), (a1), (a2), 0, 0, 0) 66 #define event_notify_3(e, a1, a2, a3) \ 67 event_notify((e), (a1), (a2), (a3), 0, 0) 68 #define event_notify_4(e, a1, a2, a3, a4) \ 69 event_notify((e), (a1), (a2), (a3), (a4), 0) 70 #define event_notify_5(e, a1, a2, a3, a4, a5) \ 71 event_notify((e), (a1), (a2), (a3), (a4), (a5)) 72 73 extern void event_notify(event_type_t, sysarg_t, sysarg_t, sysarg_t, 74 sysarg_t, sysarg_t); 103 extern sysarg_t sys_event_unmask(sysarg_t); 75 104 76 105 #endif
Note:
See TracChangeset
for help on using the changeset viewer.