Ru/api/kernel: Difference between revisions

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


Номер функции помещается в регистр eax.
Номер функции помещается в регистр eax.
Line 18: Line 20:


[[SysFn05/ru | Функция 5]] - пауза.
[[SysFn05/ru | Функция 5]] - пауза.
[[SysFn06/ru | Функция 6]] - прочитать файл с рамдиска.


[[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 44: Line 55:


[[SysFn18/ru|Функция 18]] - системные настройки и информация
[[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 - управление положением окна относительно других окон.


[[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 53: Line 95:
[[SysFn23/ru|Функция 23]] - ожидать события с таймаутом.
[[SysFn23/ru|Функция 23]] - ожидать события с таймаутом.


[[SysFn24/ru|Функция 24]] - работа с проигрывателем компакт-дисков
[[SysFn24/ru|Функция 24]] - работа с проигрывателем компакт-дисков.
 
* Подфункция 4 - извлечь лоток привода диска.
Функция 25 - установить громкость SBPro. - '''Удалена'''
* Подфункция 5 - загрузить лоток привода диска.
 
[[SysFn26/ru|Функция 26]] - аппаратный сервис


Функция 27  - сведения об этой функции отсутствуют
[[SysFn25/ru|Функция 25]] - записать область на слой фона.


Функция 28 - установить громкость SB16. - '''Удалена'''
[[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 - получить текущую папку с указанием кодировки.


Функция 31 - сведения об этой функции отсутствуют
[[SysFn34/ru|Функция 34]] - узнать кому принадлежит точка экрана.
 
Функция 32 - использовалась в ранних версиях КОС для удаления файла с рамдиска.- '''удалена'''
 
Функция 33 - использовалась в ранних версиях КОС для записи файла на рамдиск.-'''удалена'''
 
Функция 34 - сведения об этой функции отсутствуют


[[SysFn35/ru|Функция 35]] - прочитать цвет точки на экране.
[[SysFn35/ru|Функция 35]] - прочитать цвет точки на экране.
Line 80: 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]] - установить маску для ожидаемых событий.
Функция 41 - узнать владельца IRQ. - '''Удалена'''
Функция 42 - работа с данными, полученными по IRQ. - '''Удалена'''


[[SysFn43/ru|Функция 43]] - ввод/вывод в порт.
[[SysFn43/ru|Функция 43]] - ввод/вывод в порт.
Функция 44 - определить действия при поступлении IRQ. - '''Удалена'''
Функция 45 - зарезервировать/освободить IRQ. - '''Удалена'''


[[SysFn46/ru|Функция 46]] - зарезервировать/освободить группу портов ввода/вывода.
[[SysFn46/ru|Функция 46]] - зарезервировать/освободить группу портов ввода/вывода.
* '''Внимание:''' Эта функция устарела и может быть удалена в следующих версиях ядра.


[[SysFn47/ru|Функция 47]] - вывести число в окно.
[[SysFn47/ru|Функция 47]] - вывести число в окно.


[[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 110: Line 173:
[[SysFn51/ru|Функция 51]] - создать поток.
[[SysFn51/ru|Функция 51]] - создать поток.


[[SysFn52/ru|Функция 52]] - сетевой сервис.
[[SysFn54/ru|Функция 54]] - работа с буфером обмена
 
* Подфункция 0 - узнать количество слотов в буфере обмена.
[[SysFn53/ru|Функция 53]] - работа с сетевым сокетами.
* Подфункция 1 - считать данные из буфера обмена.
 
* Подфункция 2 - записать данные в буфер обмена.
Функция 54 - Зарезервирована (возвращает 0x12345678 в eax).
* Подфункция 3 - удалить последний слот с данными в буфере обмена
 
* Подфункция 4 - аварийный сброс блокировки буфера
[[SysFn55/ru | Функция 55]] - аудио сервис.
* Подфункция 0 - загрузить данные для SB16.
* Подфункция 1 - начать проигрывать данные на SB16.
* Подфункция 2 - установить формат данных SB16.
* Подфункция 55 - начать проигрывать данные на встроенном спикере.


Функция 56 - Зарезервирована.
[[SysFn55/ru | Функция 55]] - встроенный спикер.


[[SysFn57/ru | Функция 57]] - PCI BIOS.
[[SysFn57/ru | Функция 57]] - PCI BIOS.
[[SysFn58/ru | Функция 58]] - работа с файловой системой.
* Подфункция 0 - прочитать файл/папку.
* Подфункция 8 - LBA-чтение с устройства.
* Подфункция 15 - получить информацию о файловой системе.
Функция 59 - Зарезервирована.


[[SysFn60/ru | Функция 60]] - Inter Process Communication (IPC).
[[SysFn60/ru | Функция 60]] - Inter Process Communication (IPC).
* Подфункция 1 - установить область для получения IPC
* Подфункция 1 - установить область для получения IPC
* Подфункция 2 - послать сообщение IPC


[[SysFn61/ru | Функция 61]] - получить параметры для прямого доступа к графике.
[[SysFn61/ru | Функция 61]] - получить параметры для прямого доступа к графике.
* Подфункция 1 - разрешение экрана
* Подфункция 2 - число бит на пиксель
* Подфункция 3 - число байт на строку


[[SysFn62/ru|Функция 62]] - пользовательский доступ к PCI.
[[SysFn62/ru|Функция 62]] - пользовательский доступ к PCI.
Line 144: Line 199:
* подфункции 4,5,6 - прочитать PCI-регистр.
* подфункции 4,5,6 - прочитать PCI-регистр.
* подфункции 8,9,10 - записать в PCI-регистр.
* подфункции 8,9,10 - записать в PCI-регистр.
* подфункция 11 - инициализировать доступ к MMIO