3.3 KiB
Системные вызовы
mem::alloc(size_t size)
Выделение блока памяти размером size
.
Вовзращает адрес на блок памяти или 0 в случае ошибки.
Коды ошибок:
-1 не хватает ОЗУ
;-2 неправильный размер блока
.
mem::free(uintptr_t mem)
Освобождение блока памяти mem
.
Вовзращает 0 в случае успеха или -1 в случае ошибки.
Коды ошибок:
-1 блок не найден
.
sys::alloc_framebuffer()
Выделяет память под буфер кадра для отображения графического интерфейса.
Возвращает указатель на структуру framebuffer_t
или 0, если произошла ошибка.
Коды ошибок:
-1 не удалось выделить память для буфера кадра
.
sys::free_framebuffer(framebuffer_t *frame)
Освобождает ранее выделенную память frame
для буфера кадра. Возвращает 0 в случае успеха или -1, если произошла ошибка.
Коды ошибок:
-1 ошибка при освобождении памяти для буфера кадра
.
sys::exit(int code)
Завершает выполнение текущего потока с кодом code
.
sys::get_error()
Получает код ошибки последней операции. Возвращает целочисленное значение, представляющее код ошибки.
sys::get_info()
Получает информацию о текущей системе. Возвращает структуру sys_info_t
содержащую информацию о системе.
sys::get_module(uid_t module_id)
Получает информацию о модуле module_id
. Возвращает структуру, содержащую информацию о модуле.
sys::new_thread(func_t func)
Создает новый поток выполнения для функции func
. Возвращает идентификатор созданного потока или 0 в случае ошибки.
Коды ошибок:
-1 ошибка при создании потока
.
sys::delete_thread(uid_t thread_id)
Удаляет указанный поток выполнения thread_id
. Возвращает 0 в случае успеха или -1 в случае ошибки.
Коды ошибок:
-1 поток не найден
.