BMOSP/API.md

3.3 KiB
Raw Blame History

Системные вызовы

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 поток не найден.