Ru/api/kernel: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
(Добавлено упоминание подфункции 31 функции 68. Добавлено нормальное название страницы.)
 
(54 intermediate revisions by 9 users not shown)
Line 1: Line 1:
''' СИСТЕМНЫЕ ФУНКЦИИ KolibriOS 0.7.7.0 '''
{{DISPLAYTITLE:API ядра}}
 
''' СИСТЕМНЫЕ ФУНКЦИИ KolibriOS'''


Номер функции помещается в регистр eax.
Номер функции помещается в регистр eax.
Line 5: Line 7:
Все регистры, кроме явно указанных в возвращаемом значении, включая регистр флагов eflags, сохраняются.
Все регистры, кроме явно указанных в возвращаемом значении, включая регистр флагов eflags, сохраняются.


== Перечень функций ==


== Функция 0 - определить и нарисовать окно. ==
[[SysFn00/ru | Функция 0]] - определить и нарисовать окно.


Определяет окно приложения. Рисует рамку окна, заголовок и рабочую
[[SysFn01/ru | Функция 1]] - поставить точку в окне.
область. Для окон со скином определяет стандартные кнопки закрытия и
минимизации.


Описание функции перенесено в отдельную статью: [[SysFn00/ru | Функция 0]]
[[SysFn02/ru | Функция 2]] - получить код нажатой клавиши.


== Функция 1 - поставить точку в окне. ==
[[SysFn03/ru | Функция 3]] - получить системное время.


Описание функции перенесено в отдельную статью: [[SysFn01/ru | Функция 1]]
[[SysFn04/ru | Функция 4]] - вывести строку текста в окно.


== Функция 2 - получить код нажатой клавиши. ==
[[SysFn05/ru | Функция 5]] - пауза.


Извлекает из буфера код нажатой клавиши.
[[SysFn07/ru | Функция 7]] - вывести изображение в окно.


Описание функции перенесено в отдельную статью: [[SysFn02/ru | Функция 2]]
[[SysFn08/ru | Функция 8]] - определить/удалить кнопку.


== Функция 3 - получить системное время. ==
[[SysFn09/ru | Функция 9]] - информация о потоке выполнения.


Описание функции перенесено в отдельную статью: [[SysFn03/ru | Функция 3]]
[[SysFn10/ru | Функция 10]] - ожидать события.


== Функция 4 - вывести строку текста в окно. ==
[[SysFn11/ru|Функция 11]] - проверить, есть ли событие, без ожидания.


Описание функции перенесено в отдельную статью: [[SysFn04/ru | Функция 4]]
[[SysFn12/ru|Функция 12]] - начать/закончить перерисовку окна.
* Подфункция 1 - начать перерисовку окна.
* Подфункция 2 - закончить перерисовку окна.


== Функция 5 - пауза. ==
[[SysFn13/ru|Функция 13]] - нарисовать прямоугольник в окне.


Задерживает выполнение программы на заданное время.
[[SysFn14/ru|Функция 14]] - получить размеры экрана.


Описание функции перенесено в отдельную статью: [[SysFn05/ru | Функция 5]]
[[SysFn15/ru | Функция 15]] - работа с фоновой графикой
* Подфункция 1 - установить размер фонового изображения.
* Подфункция 2 - поставить точку на фоновом изображении.
* Подфункция 3 - перерисовать фон.
* Подфункция 4 - установить режим отрисовки фона.
* Подфункция 5 - поместить блок пикселей на фон.
* Подфункция 6 - спроецировать данные фона на адресное пространство процесса.
* Подфункция 7 - закрыть проекцию данных фона на адресное пространство процесса.
* Подфункция 8 - получить координаты последней отрисовки фона.
* Подфункция 9 - перерисовать прямоугольную часть фона.


== Функция 6 - прочитать файл с рамдиска. ==
[[SysFn16/ru|Функция 16]] - сохранить рамдиск на дискету.


Описание функции перенесено в отдельную статью: [[SysFn06/ru | Функция 6]]
[[SysFn17/ru|Функция 17]] - получить код нажатой кнопки.


== Функция 7 - вывести изображение в окно. ==
[[SysFn18/ru|Функция 18]] - системные настройки и информация
* Подфункция 1 - сделать неактивным окно потока
* Подфункция 2 - завершить процесс/поток по слоту.
* Подфункция 3 - сделать активным окно заданного потока.
* Подфункция 4 - получить счётчик пустых тактов в секунду.
* Подфункция 5 - получить тактовую частоту.
* Подфункция 6 - сохранить рамдиск в файл на жёстком диске.
* Подфункция 7 - получить номер активного окна.
* Подфункция 8 - отключить/разрешить звук спикера.
* Подфункция 9 - завершение работы системы с параметром.
* Подфункция 10 - свернуть окно приложения.
* Подфункция 11 - получить информацию о дисковой подсистеме.
* Подфункция 13 - получить версию ядра.
* Подфункция 14 - ожидать начала обратного хода луча развёртки монитора.
* Подфункция 15 - поместить курсор мыши в центр экрана.
* Подфункция 16 - Получить размер свободной оперативной памяти.
* Подфункция 17 - получить размер имеющейся оперативной памяти.
* Подфункция 18 - завершить процесс/поток по идентификатору.
* Подфункция 19 - получить/установить настройки мыши.
* Подфункция 20 - получить информацию об оперативной памяти.
* Подфункция 21 - получить номер слота процесса/потока по идентификатору.
* Подфункция 22 - операции с окном другого процесса/потока.
* Подфункция 23 - минимизировать все окна.
* Подфункция 24 - установить пределы отрисовки.
* Подфункция 25 - управление положением окна относительно других окон.


Описание функции перенесено в отдельную статью: [[SysFn07/ru | Функция 7]]
[[SysFn20/ru|Функция 20]] - интерфейс MIDI.
* Подфункция 1 - сброс
* Подфункция 2 - вывести байт


== Функция 8 - определить/удалить кнопку. ==
[[SysFn21/ru|Функция 21]] - установка системных параметров
* Подфункция 1 - установить базовый порт MPU MIDI.
* Подфункция 2 - установить раскладку клавиатуры.
* Подфункция 5 - установить язык системы.
* Подфункция 11 - разрешить/запретить низкоуровневый доступ к HD.
* Подфункция 12 - разрешить/запретить низкоуровневый доступ к PCI.


Описание функции перенесено в отдельную статью: [[SysFn08/ru | Функция 8]]
[[SysFn22/ru|Функция 22]] - установить системную дату/время.


== Функция 9 - информация о потоке выполнения. ==
[[SysFn23/ru|Функция 23]] - ожидать события с таймаутом.


Описание функции перенесено в отдельную статью: [[SysFn09/ru | Функция 9]]
[[SysFn24/ru|Функция 24]] - работа с проигрывателем компакт-дисков.
* Подфункция 4 - извлечь лоток привода диска.
* Подфункция 5 - загрузить лоток привода диска.


== Функция 10 - ожидать события. ==
[[SysFn25/ru|Функция 25]] - записать область на слой фона.


Если очередь сообщений пуста, то ждет появления сообщения в очереди. В таком состоянии поток не получает процессорного времени. Затем считывает сообщение из очереди.
[[SysFn26/ru|Функция 26]] - аппаратный сервис.
* Подфункция 1 - получить базовый порт MPU MIDI.
* Подфункция 2 - получить раскладку клавиатуры.
* Подфункция 5 - получить язык системы.
* Подфункция 9 - получить значение счётчика времени.
* Подфункция 10 - получить значение высокоточного счётчика времени.
* Подфункция 11 - узнать, разрешён ли низкоуровневый доступ к HD.
* Подфункция 12 - узнать, разрешён ли низкоуровневый доступ к PCI.


Описание функции перенесено в отдельную статью: [[SysFn10/ru | Функция 10]]
[[SysFn29/ru|Функция 29]] - получить системную дату.


== Функция 11 - проверить, есть ли событие, без ожидания. ==
[[SysFn30/ru|Функция 30]] - работа с текущей папкой.
* Подфункция 1 - установить текущую папку для потока.
* Подфункция 2 - получить активную папку для потока.
* Подфункция 3 - установить доп. системную директорию для ядра.
* Подфункция 4 - установить текущую папку с указанием кодировки.
* Подфункция 5 - получить текущую папку с указанием кодировки.


Если в очереди сообщений есть какое-то событие, то считывает и
[[SysFn34/ru|Функция 34]] - узнать кому принадлежит точка экрана.
возвращает его. Если очередь пуста, возвращает нуль.


Описание функции перенесено в отдельную статью:  [[SysFn11/ru|Функция 11]]
[[SysFn35/ru|Функция 35]] - прочитать цвет точки на экране.


== Функция 12 - начать/закончить перерисовку окна. ==
[[SysFn36/ru|Функция 36]] - прочитать область экрана.


Подфункция 1 - начать перерисовку окна.
[[SysFn37/ru|Функция 37]] - работа с мышью.
Подфункция 2 - закончить перерисовку окна.
* Подфункция 0 - экранные координаты мыши
* Подфункция 1 - координаты мыши относительно окна
* Подфункция 2 - состояния кнопок мыши
* Подфункция 3 - состояния и события кнопок мыши
* Подфункция 4 - загрузить курсор
* Подфункция 5 - установить курсор
* Подфункция 6 - удалить курсор
* Подфункция 7 - данные прокрутки
* Подфункция 8 - загрузить курсор с указанием кодировки


Перенесены в отдельную статью: [[SysFn12/ru|Функция 12]]
[[SysFn38/ru|Функция 38]] - нарисовать отрезок.


== Функция 13 - нарисовать прямоугольник в окне. ==
[[SysFn39/ru|Функция 39]] - чтение фона.
* Подфункция 1 - получить размер фонового изображения.
* Подфункция 2 - прочитать точку с фонового изображения.
* Подфункция 4 - получить режим отрисовки фона.


Функция перенесена в статью [[SysFn13/ru|Функция 13]]
[[SysFn40/ru|Функция 40]] - установить маску для ожидаемых событий.


== Функция 14 - получить размеры экрана. ==
[[SysFn43/ru|Функция 43]] - ввод/вывод в порт.


Описание функции перенесено в отдельную статью: [[SysFn14/ru|Функция 14]]
[[SysFn46/ru|Функция 46]] - зарезервировать/освободить группу портов ввода/вывода.


== Функция 15 - работа с фоновой графикой ==
[[SysFn47/ru|Функция 47]] - вывести число в окно.


Описание функции перенесено в отдельную статью: [[SysFn15/ru | Функция 15]]
[[SysFn48/ru|Функция 48]] - стили отображения окон
* Подфункция 0 - применить настройки экрана.
* Подфункция 1 - установить стиль кнопок.
* Подфункция 2 - установить стандартные цвета окон.
* Подфункция 3 - получить стандартные цвета окон.
* Подфункция 4 - получить высоту скина.