Files
RockOS/kernel/scheduler.h
2026-07-22 17:34:00 -05:00

25 lines
503 B
C

#ifndef KSCHEDULER_H
#define KSCHEDULER_H
#include "process.h"
#include <stdint.h>
void lock_scheduler();
void unlock_scheduler();
void init_scheduler();
void init_task(process_t* process, uint32_t entry_point, uint32_t cr3, int user, uint32_t u_esp);
process_t* current_task();
process_t* get_task_by_pid(uint32_t pid);
int get_next_pid();
void sched_create_ktask(void* addr);
void add_task(process_t* task);
void sleep(uint32_t ms);
void yield();
void exit();
void wake(process_t* task);
#endif