MP-Gadget  5.0.1.dev1-76bc7d4726-dirty
event.h
Go to the documentation of this file.
1 #ifndef _EVENT_H_
2 #define _EVENT_H_
3 
4 
5 typedef struct EventHandler EventHandler;
6 
7 typedef struct EventSpec EventSpec;
8 typedef struct {
9  int unused;
10 } EIBase;
11 
12 typedef int (*eventfunc) (EIBase * event, void * userdata);
13 
15 {
17  void * userdata;
18 };
19 
20 #define MAXEH 8
21 
22 struct EventSpec
23 {
24  char name[32];
25  int used;
27 };
28 
29 int
30 event_listen(EventSpec * e, eventfunc func, void * userdata);
31 
32 int
33 event_unlisten(EventSpec * e, eventfunc func, void * userdata);
34 
35 int
36 event_emit(EventSpec * eh, EIBase * event);
37 
38 /* A new particle is formed by spliting an existing particle. */
40 /* GC is done, things may have been violated. */
42 
43 #endif
EventSpec EventSlotsAfterGC
Definition: event.c:55
int event_emit(EventSpec *eh, EIBase *event)
Definition: event.c:44
int event_listen(EventSpec *e, eventfunc func, void *userdata)
Definition: event.c:6
int(* eventfunc)(EIBase *event, void *userdata)
Definition: event.h:12
EventSpec EventSlotsFork
Definition: event.c:54
#define MAXEH
Definition: event.h:20
int event_unlisten(EventSpec *e, eventfunc func, void *userdata)
Definition: event.c:26
Definition: event.h:8
int unused
Definition: event.h:9
eventfunc func
Definition: event.h:16
void * userdata
Definition: event.h:17
int used
Definition: event.h:25
EventHandler h[MAXEH]
Definition: event.h:26
char name[32]
Definition: event.h:24