2024-07-06 03:51:46 -04:00
|
|
|
#ifndef HAZEL_TASK_H_
|
|
|
|
#define HAZEL_TASK_H_
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <kernel/elf.h>
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
uint32_t esp;
|
|
|
|
uint32_t cr3;
|
|
|
|
uint32_t *next;
|
2024-07-15 14:03:44 -04:00
|
|
|
uint32_t eip;
|
2024-07-28 10:11:15 -04:00
|
|
|
|
|
|
|
// Shove these into a different struct
|
|
|
|
uint8_t *stdin;
|
|
|
|
uint32_t stdin_len;
|
2024-07-06 03:51:46 -04:00
|
|
|
} task_t;
|
|
|
|
|
|
|
|
int task_init(task_t *task, elf_t *elf);
|
2024-07-07 23:42:44 -04:00
|
|
|
void task_sort();
|
2024-07-06 03:51:46 -04:00
|
|
|
void schedule(void);
|
|
|
|
|
|
|
|
#endif
|