BMOSP

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

mem_alloc(size_t size)

Выделение блока памяти размером size. Вовзращает адрес на блок памяти или 0 в случае ошибки.

Коды ошибок:

mem_free(uintptr_t mem)

Освобождение блока памяти mem. Вовзращает 0 в случае успеха или -1 в случае ошибки.

Коды ошибок:

sys_alloc_framebuffer()

Выделяет память под буфер кадра для отображения графического интерфейса. Возвращает указатель на структуру framebuffer_t или 0, если произошла ошибка.

Коды ошибок:

sys_free_framebuffer(framebuffer_t *frame)

Освобождает ранее выделенную память frame для буфера кадра. Возвращает 0 в случае успеха или -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 в случае ошибки.

Коды ошибок:

sys_delete_thread(uid_t thread_id)

Удаляет указанный поток выполнения thread_id. Возвращает 0 в случае успеха или -1 в случае ошибки.

Коды ошибок: