2023-10-01 12:14:59 +03:00
|
|
|
|
# Системные вызовы
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## mem_alloc(size_t size)
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
Выделение блока памяти размером `size`.
|
2023-10-01 12:14:59 +03:00
|
|
|
|
Вовзращает адрес на блок памяти или 0 в случае ошибки.
|
|
|
|
|
|
|
|
|
|
Коды ошибок:
|
|
|
|
|
|
|
|
|
|
- `-1 не хватает ОЗУ`;
|
|
|
|
|
- `-2 неправильный размер блока`.
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## mem_free(uintptr_t mem)
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
Освобождение блока памяти `mem`.
|
2023-10-01 12:14:59 +03:00
|
|
|
|
Вовзращает 0 в случае успеха или -1 в случае ошибки.
|
|
|
|
|
|
|
|
|
|
Коды ошибок:
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
- `-1 блок не найден`.
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_alloc_framebuffer()
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
Выделяет память под буфер кадра для отображения графического интерфейса.
|
|
|
|
|
Возвращает указатель на структуру `framebuffer_t` или 0, если произошла ошибка.
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Коды ошибок:
|
|
|
|
|
|
|
|
|
|
- `-1 не удалось выделить память для буфера кадра`.
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_free_framebuffer(framebuffer_t *frame)
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Освобождает ранее выделенную память `frame` для буфера кадра. Возвращает 0 в случае успеха или -1, если произошла ошибка.
|
|
|
|
|
|
|
|
|
|
Коды ошибок:
|
|
|
|
|
|
|
|
|
|
- `-1 ошибка при освобождении памяти для буфера кадра`.
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_exit(int code)
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Завершает выполнение текущего потока с кодом `code`.
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_get_error()
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Получает код ошибки последней операции. Возвращает целочисленное значение, представляющее код ошибки.
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_get_info()
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
2023-10-12 22:57:08 +03:00
|
|
|
|
Получает информацию о текущей системе. Возвращает структуру `sys_info_t` содержащую информацию о системе.
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_get_module(uid_t module_id)
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Получает информацию о модуле `module_id`. Возвращает структуру, содержащую информацию о модуле.
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_new_thread(func_t func)
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Создает новый поток выполнения для функции `func`. Возвращает идентификатор созданного потока или 0 в случае ошибки.
|
|
|
|
|
|
|
|
|
|
Коды ошибок:
|
|
|
|
|
|
|
|
|
|
- `-1 ошибка при создании потока`.
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_delete_thread(uid_t thread_id)
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Удаляет указанный поток выполнения `thread_id`. Возвращает 0 в случае успеха или -1 в случае ошибки.
|
|
|
|
|
|
|
|
|
|
Коды ошибок:
|
|
|
|
|
|
|
|
|
|
- `-1 поток не найден`.
|
|
|
|
|
|
|
|
|
|
<!--
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_get_time()
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Получает текущее время системы в формате timestamp. Возвращает целое число, представляющее количество секунд с начала эпохи.
|
|
|
|
|
|
2023-10-21 21:33:09 +03:00
|
|
|
|
## sys_set_alarm(time_t time, func_t func)
|
2023-10-01 12:14:59 +03:00
|
|
|
|
|
|
|
|
|
Устанавливает сигнал будильника на время time. При наступлении указанного времени будет вызвана функция func.
|
|
|
|
|
|
|
|
|
|
Коды ошибок:
|
|
|
|
|
|
|
|
|
|
- `-1 ошибка при установке сигнала будильника`.
|
2023-10-21 21:33:09 +03:00
|
|
|
|
-->
|