Voxia OS
v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
task.h
Go to the documentation of this file.
1
// #ifndef __PROCC__TASK_H__
2
// #define __PROCC__TASK_H__
3
4
// #include <hal/cpu/paging.h>
5
// #include <hal/cpu/register.h>
6
7
// typedef enum {
8
// TASK_RUNNING,
9
// TASK_READY,
10
// TASK_WAITING,
11
// TASK_SUSPENDED,
12
// TASK_TERMINATED
13
// } task_state_t;
14
15
// typedef enum {
16
// TASK_PRIORITY_LOW,
17
// TASK_PRIORITY_MEDIUM,
18
// TASK_PRIORITY_HIGH,
19
// TASK_PRIORITY_REALTIME
20
// } task_priority_t;
21
22
// typedef size_t pid_t;
23
24
// #define TASK_MAX 1024
25
26
// typedef struct {
27
// uint64_t rax, rbx, rcx, rdx, rsi, rdi, rflag, rsp, rip, rbp;
28
// uint64_t r8, r9, r10, r11, r12, r13, r14, r15;
29
// } task_cpu_state_t;
30
31
// struct heap {
32
// struct heap* next;
33
// struct heap* prev;
34
// size_t size;
35
// int free;
36
// };
37
38
// struct program_paramater {
39
// uint64_t argc;
40
// char** argv;
41
// char** envp;
42
// };
43
44
// struct task {
45
// pid_t pid;
46
// char* name;
47
// uintptr_t entry;
48
// struct program_paramater param;
49
// uintptr_t stack;
50
// struct heap* heap;
51
// task_state_t state;
52
// task_priority_t priority;
53
// page_t page_root;
54
// task_cpu_state_t cpu_state;
55
// struct task* next;
56
// };
57
58
// void task_initialize();
59
// void task_add(char* name, uintptr_t entry, task_state_t state,
60
// task_priority_t priority, page_t page_root, uintptr_t stack,
61
// struct program_paramater param);
62
// struct task* task_get(pid_t pid);
63
// void task_free(pid_t pid);
64
// struct task* task_get_current();
65
66
// #endif // __PROCC__TASK_H__
kernel
procc
task.h
Generated on Sat May 30 2026 11:09:57 for Voxia OS by
1.13.2