Ru/api/kernel: Difference between revisions
Jump to navigation
Jump to search
Pathoswithin (talk | contribs) No edit summary |
Vitalkrilov (talk | contribs) (Добавлено упоминание подфункции 31 функции 68. Добавлено нормальное название страницы.) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:API ядра}} | |||
''' СИСТЕМНЫЕ ФУНКЦИИ KolibriOS''' | ''' СИСТЕМНЫЕ ФУНКЦИИ KolibriOS''' | ||
Line 18: | Line 20: | ||
[[SysFn05/ru | Функция 5]] - пауза. | [[SysFn05/ru | Функция 5]] - пауза. | ||
[[SysFn07/ru | Функция 7]] - вывести изображение в окно. | [[SysFn07/ru | Функция 7]] - вывести изображение в окно. | ||
Line 32: | Line 32: | ||
[[SysFn12/ru|Функция 12]] - начать/закончить перерисовку окна. | [[SysFn12/ru|Функция 12]] - начать/закончить перерисовку окна. | ||
* Подфункция 1 - начать перерисовку окна. | |||
* Подфункция 2 - закончить перерисовку окна. | |||
[[SysFn13/ru|Функция 13]] - нарисовать прямоугольник в окне. | [[SysFn13/ru|Функция 13]] - нарисовать прямоугольник в окне. | ||
Line 38: | Line 40: | ||
[[SysFn15/ru | Функция 15]] - работа с фоновой графикой | [[SysFn15/ru | Функция 15]] - работа с фоновой графикой | ||
* Подфункция 1 - установить размер фонового изображения. | |||
* Подфункция 2 - поставить точку на фоновом изображении. | |||
* Подфункция 3 - перерисовать фон. | |||
* Подфункция 4 - установить режим отрисовки фона. | |||
* Подфункция 5 - поместить блок пикселей на фон. | |||
* Подфункция 6 - спроецировать данные фона на адресное пространство процесса. | |||
* Подфункция 7 - закрыть проекцию данных фона на адресное пространство процесса. | |||
* Подфункция 8 - получить координаты последней отрисовки фона. | |||
* Подфункция 9 - перерисовать прямоугольную часть фона. | |||
[[SysFn16/ru|Функция 16]] - сохранить рамдиск на дискету. | [[SysFn16/ru|Функция 16]] - сохранить рамдиск на дискету. | ||
Line 70: | Line 81: | ||
[[SysFn20/ru|Функция 20]] - интерфейс MIDI. | [[SysFn20/ru|Функция 20]] - интерфейс MIDI. | ||
* Подфункция 1 - сброс | |||
* Подфункция 2 - вывести байт | |||
[[SysFn21/ru|Функция 21]] - установка системных параметров | [[SysFn21/ru|Функция 21]] - установка системных параметров | ||
* Подфункция 1 - установить базовый порт MPU MIDI. | |||
* Подфункция 2 - установить раскладку клавиатуры. | |||
* Подфункция 5 - установить язык системы. | |||
* Подфункция 11 - разрешить/запретить низкоуровневый доступ к HD. | |||
* Подфункция 12 - разрешить/запретить низкоуровневый доступ к PCI. | |||
[[SysFn22/ru|Функция 22]] - установить системную дату/время. | [[SysFn22/ru|Функция 22]] - установить системную дату/время. | ||
Line 78: | Line 96: | ||
[[SysFn24/ru|Функция 24]] - работа с проигрывателем компакт-дисков. | [[SysFn24/ru|Функция 24]] - работа с проигрывателем компакт-дисков. | ||
* Подфункция 4 - извлечь лоток привода диска. | |||
* Подфункция 5 - загрузить лоток привода диска. | |||
[[SysFn25/ru|Функция 25]] - записать область на слой фона. | [[SysFn25/ru|Функция 25]] - записать область на слой фона. | ||
[[SysFn26/ru|Функция 26]] - аппаратный сервис. | [[SysFn26/ru|Функция 26]] - аппаратный сервис. | ||
* Подфункция 1 - получить базовый порт MPU MIDI. | |||
* Подфункция 2 - получить раскладку клавиатуры. | |||
* Подфункция 5 - получить язык системы. | |||
* Подфункция 9 - получить значение счётчика времени. | |||
* Подфункция 10 - получить значение высокоточного счётчика времени. | |||
* Подфункция 11 - узнать, разрешён ли низкоуровневый доступ к HD. | |||
* Подфункция 12 - узнать, разрешён ли низкоуровневый доступ к PCI. | |||
[[SysFn29/ru|Функция 29]] - получить системную дату. | [[SysFn29/ru|Функция 29]] - получить системную дату. | ||
[[SysFn30/ru|Функция 30]] - работа с текущей папкой. | [[SysFn30/ru|Функция 30]] - работа с текущей папкой. | ||
* Подфункция 1 - установить текущую папку для потока. | |||
* Подфункция 2 - получить активную папку для потока. | |||
* Подфункция 3 - установить доп. системную директорию для ядра. | |||
* Подфункция 4 - установить текущую папку с указанием кодировки. | |||
* Подфункция 5 - получить текущую папку с указанием кодировки. | |||
[[SysFn34/ru|Функция 34]] - узнать кому принадлежит точка экрана. | [[SysFn34/ru|Функция 34]] - узнать кому принадлежит точка экрана. | ||
Line 94: | Line 126: | ||
[[SysFn37/ru|Функция 37]] - работа с мышью. | [[SysFn37/ru|Функция 37]] - работа с мышью. | ||
* Подфункция 0 - экранные координаты мыши | |||
* Подфункция 1 - координаты мыши относительно окна | |||
* Подфункция 2 - состояния кнопок мыши | |||
* Подфункция 3 - состояния и события кнопок мыши | |||
* Подфункция 4 - загрузить курсор | |||
* Подфункция 5 - установить курсор | |||
* Подфункция 6 - удалить курсор | |||
* Подфункция 7 - данные прокрутки | |||
* Подфункция 8 - загрузить курсор с указанием кодировки | |||
[[SysFn38/ru|Функция 38]] - нарисовать отрезок. | [[SysFn38/ru|Функция 38]] - нарисовать отрезок. | ||
[[SysFn39/ru|Функция 39]] - чтение фона. | [[SysFn39/ru|Функция 39]] - чтение фона. | ||
* Подфункция 1 - получить размер фонового изображения. | |||
* Подфункция 2 - прочитать точку с фонового изображения. | |||
* Подфункция 4 - получить режим отрисовки фона. | |||
[[SysFn40/ru|Функция 40]] - установить маску для ожидаемых событий. | [[SysFn40/ru|Функция 40]] - установить маску для ожидаемых событий. | ||
Line 108: | Line 152: | ||
[[SysFn48/ru|Функция 48]] - стили отображения окон | [[SysFn48/ru|Функция 48]] - стили отображения окон | ||
* Подфункция 0 - применить настройки экрана. | |||
* Подфункция 1 - установить стиль кнопок. | |||
* Подфункция 2 - установить стандартные цвета окон. | |||
* Подфункция 3 - получить стандартные цвета окон. | |||
* Подфункция 4 - получить высоту скина. | |||
* Подфункция 5 - получить рабочую область экрана. | |||
* Подфункция 6 - установить рабочую область экрана. | |||
* Подфункция 7 - получить область скина для текста заголовка. | |||
* Подфункция 8 - установить используемый скин окон. | |||
* Подфункция 9 - получить настройку сглаживания шрифтов. | |||
* Подфункция 10 - настроить сглаживание шрифтов. | |||
* Подфункция 11 - получить размер шрифтов. | |||
* Подфункция 12 - установить размер шрифтов. | |||
* Подфункция 13 - установить скин с указанием кодировки. | |||
[[SysFn49/ru|Функция 49]] - Advanced Power Management (APM). | [[SysFn49/ru|Функция 49]] - Advanced Power Management (APM). | ||
Line 122: | Line 180: | ||
* Подфункция 4 - аварийный сброс блокировки буфера | * Подфункция 4 - аварийный сброс блокировки буфера | ||
[[SysFn55/ru | Функция 55]] - | [[SysFn55/ru | Функция 55]] - встроенный спикер. | ||
[[SysFn57/ru | Функция 57]] - PCI BIOS. | [[SysFn57/ru | Функция 57]] - PCI BIOS. | ||
[[SysFn60/ru | Функция 60]] - Inter Process Communication (IPC). | [[SysFn60/ru | Функция 60]] - Inter Process Communication (IPC). | ||
Line 181: | Line 229: | ||
* Подфункция 13 - освободить блок памяти. | * Подфункция 13 - освободить блок памяти. | ||
* Подфункция 14 - ожидать извещения от драйвера. | * Подфункция 14 - ожидать извещения от драйвера. | ||
* Подфункция 16 - загрузить драйвер. | * Подфункция 16 - загрузить драйвер. | ||
* Подфункция 17 - управление драйвером. | * Подфункция 17 - управление драйвером. | ||
* Подфункция 18 - | * Подфункция 18 - загрузить DLL с указанием кодировки. | ||
* Подфункция 19 - загрузить DLL. | * Подфункция 19 - загрузить DLL. | ||
* Подфункция 20 - перераспределить блок памяти. | * Подфункция 20 - перераспределить блок памяти. | ||
Line 193: | Line 240: | ||
* Подфункция 26 - освободить страницы памяти | * Подфункция 26 - освободить страницы памяти | ||
* Подфункция 27 - загузить файл | * Подфункция 27 - загузить файл | ||
* Подфункция 28 - загрузить файл с указанием кодировки | |||
* Подфункция 31 - получить данные драйвера | |||
[[SysFn69/ru|Функция 69]] - отладка. | [[SysFn69/ru|Функция 69]] - отладка. | ||
Line 219: | Line 268: | ||
[[SysFn71/ru|Функция 71]] - параметры окна. | [[SysFn71/ru|Функция 71]] - параметры окна. | ||
[[SysFn72/ru|Функция 72]] - послать сообщение окну. | [[SysFn72/ru|Функция 72]] - послать сообщение окну. | ||
[[SysFn73/ru|Функция 73]] - программный блиттер. | [[SysFn73/ru|Функция 73]] - программный блиттер. | ||
[[SysFn74/ru|Функция 74]] | [[SysFn74/ru|Функция 74]] - работа с сетевыми устройствами. | ||
* Подфункция -1 - получить количество активных сетевых устройств. | * Подфункция -1 - получить количество активных сетевых устройств. | ||
* Подфункция 0 - получить тип сетевого устройства. | * Подфункция 0 - получить тип сетевого устройства. | ||
Line 232: | Line 279: | ||
* Подфункция 2 - сброс сетевого устройства. | * Подфункция 2 - сброс сетевого устройства. | ||
* Подфункция 3 - остановить сетевое устройство. | * Подфункция 3 - остановить сетевое устройство. | ||
* Подфункция 4 - получить указатель на устройство. | |||
* Подфункция 6 - получить количество посланых пакетов. | |||
* Подфункция 7 - получить количество принятых пакетов. | |||
* Подфункция 8 - получить количество посланых байт. | |||
* Подфункция 9 - получить количество принятых байт. | |||
* Подфункция 10 - получить статус соединения. | |||
[[SysFn75/ru|Функция 75]] - работа с сетевым сокетами. | [[SysFn75/ru|Функция 75]] - работа с сетевым сокетами. | ||
Line 247: | Line 300: | ||
[[SysFn76/ru|Функция 76]] - сетевые опции и статистика. | [[SysFn76/ru|Функция 76]] - сетевые опции и статистика. | ||
[[SysFn77/ru|Функция 77]] - подсистема POSIX. | |||
* Подфункция 0 - Создать фьютекс | |||
* Подфункция 1 - Удалить фьютекс | |||
* Подфункция 2 - Ожидать | |||
* Подфункция 3 - Разбудить | |||
* Подфункция 4 - Зарезервирована | |||
* Подфункция 5 - Зарезервирована | |||
* Подфункция 6 - Зарезервирована | |||
* Подфункция 7 - Зарезервирована | |||
* Подфункция 8 - open(), пока не реализована | |||
* Подфункция 9 - close(), пока не реализована | |||
* Подфункция 10 - read(), чтение из файла в буфер | |||
* Подфункция 11 - write(), запись данных из буфера в файл | |||
* Подфункция 12 - dup3(), пока не реализована | |||
* Подфункция 13 - pipe2(), создание канала | |||
[[SysFn80/ru|Функция 80]] - работа с файловой системой с указанием кодировки. | |||
[[SysFn-1/ru|Функция -1]] - завершить выполнение потока/процесса. | [[SysFn-1/ru|Функция -1]] - завершить выполнение потока/процесса. | ||
Line 276: | Line 347: | ||
* 0 = успешно | * 0 = успешно | ||
* 2 = функция не поддерживается для данной файловой системы | * 2 = функция не поддерживается для данной файловой системы | ||
* 3 = неизвестная файловая система | * 3 = неизвестная файловая система | ||
* 5 = файл не найден | * 5 = файл не найден | ||
* 6 = файл закончился | * 6 = файл закончился | ||
* 7 = указатель вне памяти приложения | * 7 = указатель вне памяти приложения | ||
* 8 = диск заполнен | * 8 = диск заполнен | ||
* 9 = | * 9 = ошибка файловой системы | ||
* 10 = доступ запрещён | * 10 = доступ запрещён | ||
* 11 = ошибка устройства | * 11 = ошибка устройства | ||
* 12 = файловой системе недостаточно оперативной памяти | |||
При запуске программы возможны также следующие коды ошибок: | При запуске программы возможны также следующие коды ошибок: | ||
Line 293: | Line 363: | ||
* 32 = 0x20 = слишком много процессов | * 32 = 0x20 = слишком много процессов | ||
{{System_functions}} | |||
[[Category:Coding]] | [[Category:Coding]] |
Latest revision as of 16:12, 4 June 2022
СИСТЕМНЫЕ ФУНКЦИИ KolibriOS
Номер функции помещается в регистр eax. Вызов системной функции осуществляется командой "int 0x40". Все регистры, кроме явно указанных в возвращаемом значении, включая регистр флагов eflags, сохраняются.
Перечень функций
Функция 0 - определить и нарисовать окно.
Функция 1 - поставить точку в окне.
Функция 2 - получить код нажатой клавиши.
Функция 3 - получить системное время.
Функция 4 - вывести строку текста в окно.
Функция 5 - пауза.
Функция 7 - вывести изображение в окно.
Функция 8 - определить/удалить кнопку