luxos/Kernel/include/tasking.h
Tiberiu Chibici 17342b6665 [????] BUILD 0.1.1.50 DATE 9/20/2011 AT 12:43 PM
====================================================
Mainly changed: Tasking
+ Implemented multitasking
+ Switching works
? TODO: Fix other not working tasking routines
2021-09-14 18:58:06 +03:00

29 lines
459 B
C

/*
* tasking.h
*
* Created on: Sep 8, 2011
* Author: Tiberiu
*/
#ifndef TASKING_H_
#define TASKING_H_
#include <types.h>
#include <memory-add.h>
typedef struct _Task {
uint32 Pid;
uint32 Eip, Esp, Ebp;
PageDirectory* Pd;
uint32 StackLowerBase;
uint32 StackUpperBase;
uint8 Initialized;
struct _Task* Next;
} Task;
extern void TaskInitialize();
extern void TaskSwitch ();
extern void TaskCreate (void (*func)());
#endif /* TASKING_H_ */