From 3ece417f9a343fd9551fd8b07142a27cffc78ac9 Mon Sep 17 00:00:00 2001 From: Aren Date: Sat, 30 Sep 2023 16:11:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 API.md diff --git a/API.md b/API.md new file mode 100644 index 0000000..1430298 --- /dev/null +++ b/API.md @@ -0,0 +1,70 @@ +# Системные вызовы + +## 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 поток не найден`.