10 TASK_TYPE_USERLAND = 1
15 TASK_STATE_RUNNING = 1,
24 uint64_t runtime_ticks;
34typedef bool (*task_iter_cb_t)(
const task_info_t*
info,
void* ctx);
35typedef bool (*kernel_task_fn_t)(uint32_t pid, uint64_t now_ticks,
void* ctx,
int* exit_code);
37void multitasking_init(
void);
38void multitasking_on_pit_tick(uint64_t now_ticks);
39void multitasking_pump(
void);
41uint32_t multitasking_spawn_kernel(
const char* name, kernel_task_fn_t fn,
void* ctx);
42uint32_t multitasking_spawn_userland(
const char* name,
const user_task_spec_t* spec);
44bool multitasking_exit_task(uint32_t pid,
int exit_code);
45bool multitasking_get_task(uint32_t pid, task_info_t* out_info);
46uint32_t multitasking_current_pid(
void);
48uint32_t multitasking_count_tasks(
void);
49uint32_t multitasking_count_running(
void);
51bool multitasking_for_each_task(task_iter_cb_t cb,
void* ctx);
53void multitasking_start_cursor_blink_task(
void);
This is a basic header files with FrostWing specific short forms and basically a good for life header...
void info(cstring message, cstring file)
Display an informational message.