blob: 838f27b029145a4358a793343dbb3112f239bc11 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#ifndef TASK_H
#define TASK_H
#include <stdbool.h>
#include <stdint.h>
struct task_state {
uint32_t ret_addr;
void *page_directory;
//maybe put scheduling or priviledge information here?
uint32_t ebx;
uint32_t ecx;
uint32_t edx;
uint32_t esi;
uint32_t edi;
uint32_t ebp;
uint32_t esp;
} __attribute__ ((packed));
extern struct task_state *active_task;
void init_tasks();
void new_task(struct task_state state);
void advance_active_task();
void delete_task(struct task_state *state);
#endif
|