19 lines
380 B
C
19 lines
380 B
C
|
#pragma once
|
||
|
#include "thread/Thread.h"
|
||
|
|
||
|
namespace Scheduler
|
||
|
{
|
||
|
void init();
|
||
|
|
||
|
Thread* current();
|
||
|
|
||
|
Result<void> new_kernel_thread(u64 address);
|
||
|
Result<void> new_kernel_thread(void (*func)(void));
|
||
|
Result<void> new_kernel_thread(void (*func)(void*), void* arg);
|
||
|
|
||
|
Thread* pick_task();
|
||
|
|
||
|
void switch_task(Registers* regs);
|
||
|
|
||
|
void invoke(Registers* regs);
|
||
|
}
|