BMOSP/API.md

84 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Системные вызовы
## 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 поток не найден`.
<!--
## sys::get_time()
Получает текущее время системы в формате timestamp. Возвращает целое число, представляющее количество секунд с начала эпохи.
## sys::set_alarm(time_t time, func_t func)
Устанавливает сигнал будильника на время time. При наступлении указанного времени будет вызвана функция func.
Коды ошибок:
- `-1 ошибка при установке сигнала будильника`.
-->