diff options
Diffstat (limited to 'kernel/inc')
-rw-r--r-- | kernel/inc/event.h | 3 | ||||
-rw-r--r-- | kernel/inc/proc.h | 9 |
2 files changed, 10 insertions, 2 deletions
diff --git a/kernel/inc/event.h b/kernel/inc/event.h index d14fdb0..0a42f97 100644 --- a/kernel/inc/event.h +++ b/kernel/inc/event.h @@ -8,12 +8,13 @@ #include <sys.h> struct event_descriptor { + enum event id; u32 *func; struct proc *proc; }; u32 event_map(enum event id, struct proc *proc, u32 *func); void event_unmap(enum event id, struct proc *proc, u32 *func); -u32 event_trigger(enum event id, u32 *data); +u32 event_trigger(enum event id, void *data); #endif diff --git a/kernel/inc/proc.h b/kernel/inc/proc.h index 8f93e43..7e13652 100644 --- a/kernel/inc/proc.h +++ b/kernel/inc/proc.h @@ -4,7 +4,9 @@ #define PROC_H #include <def.h> +#include <event.h> #include <interrupts.h> +#include <list.h> #define PROC_QUANTUM 42 // Milliseconds @@ -18,7 +20,12 @@ struct proc { u32 pid; char name[32]; struct regs regs; - u32 event; + struct list *events; +}; + +struct proc_event { + struct event_descriptor *desc; + void *data; }; void proc_init(); |