mirror of
https://github.com/0Nera/BMOSP.git
synced 2024-12-01 20:56:59 +03:00
71 lines
2.8 KiB
Markdown
71 lines
2.8 KiB
Markdown
|
# Системные вызовы
|
|||
|
|
|||
|
## 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()
|
|||
|
|
|||
|
Получает информацию о модуле текущей программы. Возвращает структуру или строку, содержащую информацию о модуле.
|
|||
|
|
|||
|
## sys::new_thread(func_t func)
|
|||
|
|
|||
|
Создает новый поток выполнения для функции `func`. Возвращает идентификатор созданного потока или 0 в случае ошибки.
|
|||
|
|
|||
|
Коды ошибок:
|
|||
|
|
|||
|
- `-1 ошибка при создании потока`.
|
|||
|
|
|||
|
## sys::delite_thread(tid_t thread_id)
|
|||
|
|
|||
|
Удаляет указанный поток выполнения `thread_id`. Возвращает 0 в случае успеха или -1 в случае ошибки.
|
|||
|
|
|||
|
Коды ошибок:
|
|||
|
|
|||
|
- `-1 поток не найден`.
|