Added files with basic definitions of KPC (kernel process communication).
[kernel.git] / inc / multitasking.h
blob987a51a719359ffd1cb38b63d617b378ede3accb
1 // Multitasking
3 #ifndef __KERNEL__MULTITASKING___HEADER____
4 #define __KERNEL__MULTITASKING___HEADER____
6 #include "types.h"
7 #include "isr_irq.h"
9 typedef struct ___task {
10 INT id;
11 UINT esp;
12 UINT cr3;
13 UINT kernelstack;
14 UINT queue;
15 struct ___task *next;
16 } Task;
19 typedef struct __queue {
20 Task *start;
21 Task *current;
22 INT size;
23 } TaskQueue;
27 extern void InitMultitasking();
28 extern UINT SwitchTask(struct irq_regs *);
30 #endif