summaryrefslogtreecommitdiff
path: root/include/kernel/sched.h
blob: 00a5d9541a891c4af24fc213d1bcb3ef75be353f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef KERNEL_SCHED_H
#define KERNEL_SCHED_H

#include <kernel/asm.h>
#include <kernel/kthread.h>
#include <stdint.h>

void sched_init(void);
void schedule_next(void);
void schedule_thread(struct kthread *thread);

void block_thread(struct kthread *thread);
void unblock_thread(struct kthread *thread);

void sched_lock(void);
void sched_unlock(void);

void switch_thread(struct kthread *old, struct kthread *new);

#endif