Ru/api/kernel
From KolibriOS wiki
Contents
- 1 СИСТЕМНЫЕ ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ Kolibri 0.7.1.0
- 1.1 Функция 0 - определить и нарисовать окно.
- 1.2 Функция 1 - поставить точку в окне.
- 1.3 Функция 2 - получить код нажатой клавиши.
- 1.4 Функция 3 - получить системное время.
- 1.5 Функция 4 - вывести строку текста в окно.
- 1.6 Функция 5 - пауза.
- 1.7 Функция 6 - прочитать файл с рамдиска.
- 1.8 Функция 7 - вывести изображение в окно.
- 1.9 Функция 8 - определить/удалить кнопку.
- 1.10 Функция 9 - информация о потоке выполнения.
- 1.11 Функция 10 - ожидать события.
- 1.12 Функция 11 - проверить, есть ли событие, без ожидания.
- 1.13 Функция 12 - начать/закончить перерисовку окна.
- 1.14 Функция 13 - нарисовать прямоугольник в окне.
- 1.15 Функция 14 - получить размеры экрана.
- 1.16 Функция 15.
- 1.17 Функция 16 - сохранить рамдиск на дискету.
- 1.18 Функция 17 - получить код нажатой кнопки.
- 1.19 Функция 20 - интерфейс MIDI.
- 1.19.1 Подфункция 1 - сброс
- 1.19.2 Подфункция 2 - вывести байт
- 1.19.3 Подфункция 1 - установить базовый порт MPU MIDI.
- 1.19.4 Подфункция 2 - установить раскладку клавиатуры.
- 1.19.5 Подфункция 3 - установить базу CD.
- 1.19.6 Подфункция 4 - установить базовый порт Sound Blaster.
- 1.19.7 Подфункция 5 - установить язык системы.
- 1.19.8 Подфункция 7 - установить базу HD.
- 1.19.9 Подфункция 8 - установить раздел HD.
- 1.19.10 Подфункция 10 - установить канал DMA для звука.
- 1.19.11 Подфункция 11 - разрешить/запретить низкоуровневый доступ к HD.
- 1.19.12 Подфункция 12 - разрешить/запретить низкоуровневый доступ к PCI.
- 1.19.13 Подфункция 13
- 1.19.13.1 Подподфункция 1 - инициализировать + получить информацию о драйвере vmode.mdr.
- 1.19.13.2 Подподфункция 2 - получить информацию о текущем видеорежиме.
- 1.19.13.3 Подподфункция 3 - установить видеорежим.
- 1.19.13.4 Подподфункция 4 - вернуться к начальному видеорежиму.
- 1.19.13.5 Подподфункция 5 - увеличить/уменьшить размер видимой области монитора.
- 1.20 Функция 22 - установить системную дату/время.
- 1.21 Функция 23 - ожидать события с таймаутом.
- 1.22 Функция 25 - установить громкость SBPro.
- 1.22.1 Подфункция 1 - получить базовый порт MPU MIDI.
- 1.22.2 Подфункция 2 - получить раскладку клавиатуры.
- 1.22.3 Подфункция 3 - получить базу CD.
- 1.22.4 Подфункция 4 - получить базовый порт Sound Blaster.
- 1.22.5 Подфункция 5 - получить язык системы.
- 1.22.6 Подфункция 7 - получить базу HD.
- 1.22.7 Подфункция 8 - получить раздел HD.
- 1.22.8 Подфункция 9 - получить значение счётчика времени.
- 1.22.9 Подфункция 10 - получить канал DMA для звука.
- 1.22.10 Подфункция 11 - узнать, разрешён ли низкоуровневый доступ к HD.
- 1.22.11 Подфункция 12 - узнать, разрешён ли низкоуровневый доступ к PCI.
- 1.23 Функция 28 - установить громкость SB16.
- 1.24 Функция 29 - получить системную дату.
- 1.25 Функция 30 - работа с текущей папкой.
- 1.26 Функция 35 - прочитать цвет точки на экране.
- 1.27 Функция 36 - прочитать область экрана.
- 1.28 Функция 37 - работа с мышью.
- 1.28.1 - Подфункция 0 - экранные координаты мыши
- 1.28.2 Подфункция 1 - координаты мыши относительно окна
- 1.28.3 Подфункция 2 - нажатые кнопки мыши
- 1.28.4 Подфункция 4 - загрузить курсор
- 1.28.5 Подфункция 5 - установить курсор
- 1.28.6 Подфункция 6 - удалить курсор
- 1.28.7 Подфункция 7 - данные прокрутки
- 1.29 Функция 38 - нарисовать отрезок.
- 1.30 Функция 39, подфункция 2 - прочитать точку с фонового изображения.
- 1.31 Функция 40 - установить маску для ожидаемых событий.
- 1.32 Функция 41 - узнать владельца IRQ.
- 1.33 Функция 42 - работа с данными, полученными по IRQ.
- 1.34 Функция 43 - ввод/вывод в порт.
- 1.35 Функция 44 - определить действия при поступлении IRQ.
- 1.36 Функция 45 - зарезервировать/освободить IRQ.
- 1.37 Функция 47 - вывести число в окно.
- 1.37.1 Подфункция 0 - применить настройки экрана.
- 1.37.2 Подфункция 1 - установить стиль кнопок.
- 1.37.3 Подфункция 2 - установить стандартные цвета окон.
- 1.37.4 Подфункция 3 - получить стандартные цвета окон.
- 1.37.5 Подфункция 4 - получить высоту скина.
- 1.37.6 Подфункция 5 - получить рабочую область экрана.
- 1.37.7 Подфункция 6 - установить рабочую область экрана.
- 1.37.8 Подфункция 7 - получить область скина для текста заголовка.
- 1.37.9 Подфункция 8 - установить используемый скин окон.
- 1.38 Функция 49 - Advanced Power Management (APM).
- 1.39 Функция 50 - установка формы окна.
- 1.40 Функция 51 - создать поток.
- 1.41 Функция 52, подфункция 0 - получить конфигурацию сетевого драйвера.
- 1.41.1 Подфункция 1 - получить локальный IP-адрес.
- 1.41.2 Подфункция 2 - установить конфигурацию сетевого драйвера.
- 1.41.3 Подфункция 3 - установить локальный IP-адрес.
- 1.41.4 Подфункция 6 - добавить данные в стек входной очереди.
- 1.41.5 Подфункция 8 - прочитать данные из сетевой очереди вывода.
- 1.41.6 Подфункция 9 - получить gateway IP.
- 1.41.7 Подфункция 10 - получить маску подсети.
- 1.41.8 Подфункция 11 - установить gateway IP.
- 1.41.9 Подфункция 12 - установить маску подсети.
- 1.41.10 Подфункция 13 - получить DNS IP.
- 1.41.11 Подфункция 14 - установить DNS IP.
- 1.41.12 Подфункция 15 - получить локальный MAC-адрес.
- 1.41.13 Подфункция 0 - открыть UDP-сокет.
- 1.41.14 Подфункция 1 - закрыть UDP-сокет.
- 1.41.15 Подфункция 2 - опрос сокета.
- 1.41.16 Подфункция 3 - прочитать байт из сокета.
- 1.41.17 Подфункция 4 - записать в UDP-сокет.
- 1.41.18 Подфункция 5 - открыть TCP-сокет.
- 1.41.19 Подфункция 6 - получить состояние TCP-сокета.
- 1.41.20 Подфункция 7 - записать в TCP-сокет.
- 1.41.21 Подфункция 8 - закрыть TCP-сокет.
- 1.41.22 Подфункция 9 - проверить, свободен ли локальный порт.
- 1.41.23 Подфункция 10 - получить статус кабеля Ethernet.
- 1.41.24 Подфункция 11 - прочитать данные сетевого стека.
- 1.41.25 Подфункция 255 - отладочная информация сетевого драйвера.
- 1.41.26 Подфункция 0 - загрузить данные для SB16.
- 1.41.27 Подфункция 1 - начать проигрывать данные на SB16.
- 1.41.28 Подфункция 2 - установить формат данных SB16.
- 1.41.29 Подфункция 55 - начать проигрывать данные на встроенном спикере.
- 1.42 Функция 57 - PCI BIOS.
- 1.43 Функция 58 - работа с файловой системой.
- 1.44 Функция 60 - Inter Process Communication (IPC).
- 1.45 Функция 61 - получить параметры для прямого доступа к графике.
- 1.46 Функция 62 - пользовательский доступ к PCI.
- 1.46.1 Подфункция 0 - получить версию PCI-интерфейса.
- 1.46.2 Подфункция 1 - получить номер последней PCI-шины.
- 1.46.3 Подфункция 2 - Получить механизм обращения к конфигурационному пространству PCI.
- 1.46.4 подфункции 4,5,6 - прочитать PCI-регистр.
- 1.46.5 подфункции 8,9,10 - записать в PCI-регистр.
- 1.46.6 подфункция 11 - инициализировать доступ к MMIO
- 1.46.7 подфункция 12 - получить линейный адрес MMIO-блока
- 1.46.8 подфункция 13 - освободить линейные адреса MMIO
- 1.47 Функция 63 - работа с доской отладки.
- 1.48 Функция 64 - перераспределить память приложения.
- 1.49 Функция 65 - вывести изображение с палитрой в окно.
- 1.50 Функция 66 - работа с клавиатурой.
- 1.50.1 Подфункция 1 - установить режим ввода с клавиатуры.
- 1.50.2 Подфункция 2 - получить режим ввода с клавиатуры.
- 1.50.3 Подфункция 3 - получить состояние управляющих клавиш.
- 1.50.4 Подфункция 4 - установить общесистемную "горячую клавишу".
- 1.50.5 Подфункция 5 - удалить установленную "горячую клавишу".
- 1.51 Функция 67 - изменить положение/размеры окна.
- 1.52 Функция 68
- 1.52.1 Подфункция 0 - получить счётчик переключений задач.
- 1.52.2 Подфункция 1 - переключиться на следующий поток выполнения.
- 1.52.3 Подфункция 2 - кэш + rdpmc.
- 1.52.4 Подфункция 3 - прочитать MSR-регистр.
- 1.52.5 Подфункция 4 - записать в MSR-регистр.
- 1.52.6 Подфункция 11 - инициализировать кучу процесса.
- 1.52.7 Подфункция 12 - выделить блок памяти.
- 1.52.8 Подфункция 13 - освободить блок памяти.
- 1.52.9 Подфункция 14 - ожидать извещения от драйвера.
- 1.52.10 Подфункция 15 - установить обработчик исключений FPU.
- 1.52.11 Подфункция 16 - загрузить драйвер.
- 1.52.12 Подфункция 17 - управление драйвером.
- 1.52.13 Подфункция 18 - установить обработчик исключений SSE.
- 1.52.14 Подфункция 19 - загрузить DLL.
- 1.52.15 Подфункция 20 - перераспределить блок памяти.
- 1.52.16 Подфункция 22 - открыть именованую область памяти.
- 1.52.17 Подфункция 23 - закрыть именованую область памяти.
- 1.53 Функция 69 - отладка.
- 1.53.1 Подфункция 0 - определить область данных для отладочных сообщений.
- 1.53.2 Подфункция 1 - получить состояние регистров отлаживаемого потока.
- 1.53.3 Подфункция 2 - установить состояние регистров отлаживаемого потока.
- 1.53.4 Подфункция 3 - отключиться от отлаживаемого процесса.
- 1.53.5 Подфункция 4 - приостановить поток.
- 1.53.6 Подфункция 5 - возобновить выполнение потока.
- 1.53.7 Подфункция 6 - прочитать из памяти отлаживаемого процесса.
- 1.53.8 Подфункция 7 - записать в память отлаживаемого процесса.
- 1.53.9 Подфункция 8 - завершить отлаживаемый поток.
- 1.53.10 Подфункция 9 - установить/снять аппаратную точку останова.
- 1.54 Функция 70 - работа с файловой системой с поддержкой длинных имён.
- 1.54.1 Подфункция 0 - чтение файла с поддержкой длинных имён.
- 1.54.2 Подфункция 1 - чтение папки с поддержкой длинных имён.
- 1.54.3 Подфункция 2 - создание/перезапись файла с поддержкой длинных имён.
- 1.54.4 Подфункция 3 - запись в существующий файл с поддержкой длинных имён.
- 1.54.5 Подфункция 4 - установка размера файла.
- 1.54.6 Подфункция 5 - получение информации о файле/папке.
- 1.54.7 Подфункция 6 - установка атрибутов файла/папки.
- 1.54.8 Подфункция 7 - запуск программы.
- 1.54.9 Подфункция 8 - удаление файла/папки.
- 1.54.10 Подфункция 9 - создание папки.
- 1.54.11 Подфункция 1 - установить заголовок окна программы.
- 1.55 Функция 72 - послать сообщение окну.
- 1.56 Функция -1 - завершить выполнение потока/процесса
- 1.57 Список событий
- 1.58 Коды ошибок файловой системы
СИСТЕМНЫЕ ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ Kolibri 0.7.1.0
Номер функции помещается в регистр eax. Вызов системной функции осуществляется командой "int 0x40". Все регистры, кроме явно указанных в возвращаемом значении, включая регистр флагов eflags, сохраняются.
Функция 0 - определить и нарисовать окно.
Определяет окно приложения. Рисует рамку окна, заголовок и рабочую область. Для окон со скином определяет стандартные кнопки закрытия и минимизации.
Описание функции перенесено в отдельную статью: Функция 0
Функция 1 - поставить точку в окне.
Описание функции перенесено в отдельную статью: Функция 1