Files
my-kern/include/myke/tasks/task.h
2021-08-12 20:31:11 +02:00

41 lines
628 B
C

//
// Created by rick on 22-02-21.
//
#ifndef NEW_KERNEL_TASK_H
#define NEW_KERNEL_TASK_H
#include <myke/cpu/cpu.h>
typedef void (*task_entrypoint)(void *entry_data);
void task_notify_irq(uint8_t irq_no);
void task_wait_irq(uint16_t irq_bits);
void task_init();
void task_start_first();
void task_switch_next();
pid_t task_spawn(task_entrypoint, void *entry_data, char *name);
void task_end(pid_t tid);
void task_suspend();
pid_t task_get_current_tid();
void task_signal(pid_t tid);
void task_lock_acquire();
void task_ensure_enabled();
void task_lock_free();
void task_print_all();
#endif //NEW_KERNEL_TASK_H