/kernel/branches/Kolibri-acpi/docs/sysfuncr.txt |
---|
48,7 → 48,7 |
* esi = 0xXYRRGGBB - цвет заголовка |
* RR, GG, BB определяют сам цвет |
* Y=0 - обычное окно, Y=1 - неперемещаемое окно |
* X определяет градиент заголовка: X=0 - нет градиента, |
* X определяет градиент заголовка: X=0 - нет градиента, |
X=8 - обычный градиент, |
для окон типа II X=4 - негативный градиент |
* прочие значения X и Y зарезервированы |
74,7 → 74,7 |
координата (или, возможно, обе) считается нулем, а если и это |
не помогает, то соответствующий размер (или, возможно, оба) |
устанавливается в размер экрана. |
Далее обозначим xpos,ypos,xsize,ysize - значения, передаваемые |
в ebx,ecx. Координаты приводятся относительно левого верхнего |
угла окна, который, таким образом, задается как (0,0), координаты |
206,7 → 206,7 |
* B=1 - закрашивать фон цветом edi |
* Y=Cnnn (биты): |
* C=1 перенаправить вывод в область пользователя, задано в edi |
* nnn - не используется в текущем виде, должно быть 0 (zero) |
* nnn - не используется в текущем виде, должно быть 0 (zero) |
* edx = указатель на начало строки |
* esi = для A=0 длина строки, должна быть не больше 255; |
для A=1 игнорируется |
725,7 → 725,7 |
* Узнать, какое окно является активным, можно вызовом подфункции 7. |
====================================================================== |
Функция 18, подфункция 4 - получить счётчик пустых тактов в секунду. |
Функция 18, подфункция 4 - получить счётчик пустых тактов в секунду. |
====================================================================== |
Под пустыми тактами понимается время, в которое процессор простаивает |
в ожидании прерывания (в инструкции hlt). |
746,7 → 746,7 |
* eax = тактовая частота (по модулю 2^32 тактов = 4ГГц) |
====================================================================== |
Функция 18, подфункция 6 - сохранить рамдиск в файл на жёстком диске. |
Функция 18, подфункция 6 - сохранить рамдиск в файл на жёстком диске. |
====================================================================== |
Параметры: |
* eax = 18 - номер функции |
826,7 → 826,7 |
Замечания: |
* Минимизированное окно с точки зрения функции 9 сохраняет положение |
и размеры. |
* Восстановление окна приложения происходит при активизировании |
* Восстановление окна приложения происходит при активизировании |
подфункцией 3. |
* Обычно нет необходимости явно сворачивать/разворачивать своё окно: |
сворачивание окна осуществляется системой при нажатии на кнопку |
1089,7 → 1089,7 |
* иначе eax = номер слота |
====================================================================== |
Функция 18, подфункция 22 - операции с окном другого процесса/потока. |
Функция 18, подфункция 22 - операции с окном другого процесса/потока. |
====================================================================== |
Параметры: |
* eax = 18 - номер функции |
1154,7 → 1154,7 |
* eax = 0 - успешно |
* eax = 1 - не определён базовый порт |
Замечания: |
* Предварительно должен быть определён базовый порт вызовом |
* Предварительно должен быть определён базовый порт вызовом |
подфункции 1 функции 21. |
====================================================================== |
1170,7 → 1170,7 |
Замечания: |
* Номер порта должен удовлетворять условиям 0x100<=ecx<=0xFFFF. |
* Установка базы нужна для работы функции 20. |
* Получить установленный базовый порт можно вызовом |
* Получить установленный базовый порт можно вызовом |
подфункции 1 функции 26. |
====================================================================== |
1200,7 → 1200,7 |
нормальная раскладка, после чего из кода вычитается 0x60; |
если не нажата ни одна из управляющих клавиш, то используется |
нормальная раскладка. |
* Получить раскладки и идентификатор страны можно с помощью |
* Получить раскладки и идентификатор страны можно с помощью |
подфункции 2 функции 26. |
* Идентификатор страны - глобальная системная переменная, которая |
самим ядром не используется; однако приложение @panel отображает |
1218,7 → 1218,7 |
* eax = 0 |
Замечания: |
* База CD используется функцией 24. |
* Получить установленную базу CD можно вызовом |
* Получить установленную базу CD можно вызовом |
подфункции 3 функции 26. |
====================================================================== |
1256,7 → 1256,7 |
* Не следует изменять базу, когда какое-нибудь приложение работает |
с жёстким диском. Если не хотите глюков системы. |
* Получить установленную базу можно вызовом подфункции 7 функции 26. |
* Следует также определить используемый раздел жёсткого диска |
* Следует также определить используемый раздел жёсткого диска |
подфункцией 8. |
====================================================================== |
1279,9 → 1279,9 |
* Получить установленный раздел можно вызовом подфункции 8 |
функции 26. |
* Проверок на корректность не делается. |
* Узнать число разделов на жёстком диске можно вызовом |
* Узнать число разделов на жёстком диске можно вызовом |
подфункции 11 функции 18. |
* Следует также определить используемую базу жёсткого диска |
* Следует также определить используемую базу жёсткого диска |
подфункцией 7. |
====================================================================== |
1367,13 → 1367,13 |
* ebx = частота вертикальной развёртки (в Гц) |
* ecx = номер текущего видеорежима |
Замечания: |
* Драйвер предварительно должен быть инициализирован вызовом |
* Драйвер предварительно должен быть инициализирован вызовом |
функции драйвера 1. |
* Если нужны только размеры экрана, целесообразней использовать |
функцию 14 с учётом того, что она возвращает размеры на 1 меньше. |
====================================================================== |
= Функция 21, подфункция 13, подподфункция 3 - установить видеорежим. |
= Функция 21, подфункция 13, подподфункция 3 - установить видеорежим. |
====================================================================== |
Параметры: |
* eax = 21 - номер функции |
1386,7 → 1386,7 |
* eax = 0 - успешно |
* ebx, ecx разрушаются |
Замечания: |
* Драйвер предварительно должен быть инициализирован вызовом |
* Драйвер предварительно должен быть инициализирован вызовом |
функции драйвера 1. |
* Номер видеорежима и частота должны быть в таблице, возвращаемой |
функцией драйвера 1. |
1405,7 → 1405,7 |
* eax = 0 - успешно |
* ebx, ecx разрушаются |
Замечания: |
* Драйвер предварительно должен быть инициализирован вызовом |
* Драйвер предварительно должен быть инициализирован вызовом |
функции драйвера 1. |
====================================================================== |
1425,7 → 1425,7 |
* eax = 0 - успешно |
* ebx, ecx разрушаются |
Замечания: |
* Драйвер предварительно должен быть инициализирован вызовом |
* Драйвер предварительно должен быть инициализирован вызовом |
функции драйвера 1. |
* Функция влияет только на физический размер изображения |
на мониторе; логический размер (число пикселей) не меняется. |
1506,7 → 1506,7 |
* eax = 0 - успешно |
* eax = 1 - не определена база CD |
Замечания: |
* Предварительно нужно определить базовый порт CD вызовом |
* Предварительно нужно определить базовый порт CD вызовом |
подфункции 3 функции 21. |
* В секунде 75 фреймов, в минуте 60 секунд. |
* Функция асинхронна (возвращает управление, когда началось |
1527,7 → 1527,7 |
* Формат таблицы с информацией о дорожках такой же, как и для |
ATAPI-CD команды 43h (READ TOC), обычной таблицы (подкоманда 00h). |
Адреса возвращаются в формате MSF. |
* Предварительно нужно определить базовый порт CD вызовом |
* Предварительно нужно определить базовый порт CD вызовом |
подфункции 3 функции 21. |
* Функция возвращает информацию только о не более чем 100 |
первых дорожках. В большинстве случаев этого достаточно. |
1542,7 → 1542,7 |
* eax = 0 - успешно |
* eax = 1 - не определена база CD |
Замечания: |
* Предварительно нужно определить базовый порт CD вызовом |
* Предварительно нужно определить базовый порт CD вызовом |
подфункции 3 функции 21. |
====================================================================== |
1606,7 → 1606,7 |
Возвращаемое значение: |
* eax = номер порта |
Замечания: |
* Установить базовый порт можно вызовом |
* Установить базовый порт можно вызовом |
подфункции 1 функции 21. |
====================================================================== |
1639,7 → 1639,7 |
нормальная раскладка, после чего из кода вычитается 0x60; |
если не нажата ни одна из управляющих клавиш, то используется |
нормальная раскладка. |
* Установить раскладки и идентификатор страны можно с помощью |
* Установить раскладки и идентификатор страны можно с помощью |
подфункции 2 функции 21. |
* Идентификатор страны - глобальная системная переменная, которая |
самим ядром не используется; однако приложение @panel отображает |
1734,7 → 1734,7 |
* eax = 0/1 - запрещён/разрешён |
Замечания: |
* Используется при LBA-чтении (подфункция 8 функции 58). |
* Установить текущее состояние можно вызовом |
* Установить текущее состояние можно вызовом |
подфункции 11 функции 21. |
====================================================================== |
1749,7 → 1749,7 |
Замечания: |
* Используется при работе с шиной PCI (функция 62). |
* Текущая реализация использует только младший бит ecx. |
* Установить текущее состояние можно вызовом |
* Установить текущее состояние можно вызовом |
подфункции 12 функции 21. |
====================================================================== |
1788,7 → 1788,7 |
* eax = длина имени текущей папки (включая завершающий 0) |
Замечания: |
* Если размера буфера недостаточно для копирования всего имени, |
копируются только первые (edx-1) байт и в конце ставится |
копируются только первые (edx-1) байт и в конце ставится |
завершающий 0. |
* По умолчанию, текущая папка для потока - "/rd/1". |
* При создании процесса/потока текущая папка наследуется от |
1801,8 → 1801,8 |
* ecx = указатель на блок данных: |
sysdir_name rb 64 |
sysdir_path rb 64 |
Пример: |
dir_name1 db 'addappl',0 |
Пример: |
dir_name1 db 'KolibriOS',0 |
rb 64-8 |
dir_path1 db 'HD0/1',0 |
rb 64-6 |
1983,7 → 1983,7 |
Возвращаемое значение: |
* eax = [ширина]*65536 + [высота] |
Замечания: |
* Есть парная команда установки размеров фонового изображения - |
* Есть парная команда установки размеров фонового изображения - |
подфункция 1 функции 15. После которой, разумеется, следует |
заново определить само изображение. |
2002,7 → 2002,7 |
* Не следует полагаться на возвращаемое значение в случае неверного |
смещения, оно может измениться в следующих версиях ядра. |
* Смещение точки с координатами (x,y) вычисляется как (x+y*xsize)*3. |
* Есть парная функция установки точки на фоновом изображении - |
* Есть парная функция установки точки на фоновом изображении - |
подфункция 2 функции 15. |
====================================================================== |
2015,7 → 2015,7 |
* eax = 1 - замостить |
* eax = 2 - растянуть |
Замечания: |
* Есть парная функция установки режима отрисовки фона - |
* Есть парная функция установки режима отрисовки фона - |
подфункция 4 функции 15. |
====================================================================== |
2070,7 → 2070,7 |
====================================================================== |
= Функция 46 - зарезервировать/освободить группу портов ввода/вывода. |
= Функция 46 - зарезервировать/освободить группу портов ввода/вывода. |
====================================================================== |
К зарезервированным портам можно обращаться напрямую из приложения |
командами in/out (рекомендуемый способ) и вызовом функции 43 |
2165,7 → 2165,7 |
Возвращаемое значение: |
* функция не возвращает значения |
Замечания: |
* После вызова описываемой функции следует перерисовать экран |
* После вызова описываемой функции следует перерисовать экран |
подфункцией 0. |
* Тип кнопок влияет только на их прорисовку функцией 8. |
2182,7 → 2182,7 |
Возвращаемое значение: |
* функция не возвращает значения |
Замечания: |
* После вызова описываемой функции следует перерисовать экран |
* После вызова описываемой функции следует перерисовать экран |
подфункцией 0. |
* Таблица стандартных цветов влияет только на приложения, |
которые эту таблицу явным образом получают (подфункцией 3) и |
2296,7 → 2296,7 |
Аналогично по оси y. |
* Смотри также функцию 14, |
позволяющую определить размеры всего экрана. |
* Есть парная функция получения рабочей области - |
* Есть парная функция получения рабочей области - |
подфункция 5. |
* Эта функция автоматически перерисовывает экран, по ходу дела |
обновляет координаты и размеры максимизированных окон. |
2420,7 → 2420,7 |
* иначе eax = TID - идентификатор потока |
====================================================================== |
= Функция 52, подфункция 0 - получить конфигурацию сетевого драйвера. |
= Функция 52, подфункция 0 - получить конфигурацию сетевого драйвера. |
====================================================================== |
Параметры: |
* eax = 52 - номер функции |
2445,7 → 2445,7 |
* Локальный IP-адрес устанавливается подфункцией 3. |
====================================================================== |
Функция 52, подфункция 2 - установить конфигурацию сетевого драйвера. |
Функция 52, подфункция 2 - установить конфигурацию сетевого драйвера. |
====================================================================== |
Параметры: |
* eax = 52 - номер функции |
2773,7 → 2773,7 |
* ebx разрушается |
====================================================================== |
Функция 53, подфункция 255 - отладочная информация сетевого драйвера. |
Функция 53, подфункция 255 - отладочная информация сетевого драйвера. |
====================================================================== |
Параметры: |
* eax = 53 - номер функции |
3015,8 → 3015,8 |
* Размер блока - 512 байт; читается один блок. |
* Не следует полагаться на возвращаемое значение, |
оно может измениться в следующих версиях. |
* Требуется, чтобы был разрешён LBA-доступ к устройствам |
подфункцией 11 функции 21. Узнать это можно вызовом |
* Требуется, чтобы был разрешён LBA-доступ к устройствам |
подфункцией 11 функции 21. Узнать это можно вызовом |
подфункцией 11 функции 26. |
* LBA-чтение дискеты не поддерживается. |
* Функция считывает данные физического жёсткого диска; |
3030,7 → 3030,7 |
это будет считаться успехом (eax=0). |
====================================================================== |
= Функция 58, подфункция 15 - получить информацию о файловой системе. |
= Функция 58, подфункция 15 - получить информацию о файловой системе. |
====================================================================== |
Параметры: |
* eax = 58 - номер функции |
4057,7 → 4057,7 |
общем описании). |
====================================================================== |
Функция 69, подфункция 7 - записать в память отлаживаемого процесса. |
Функция 69, подфункция 7 - записать в память отлаживаемого процесса. |
====================================================================== |
Параметры: |
* eax = 69 - номер функции |
/kernel/branches/Kolibri-acpi/docs/sysfuncs.txt |
---|
203,13 → 203,13 |
* B=1 - fill background with the color edi |
* Y = Cnnn |
* C=1 redirect the output to the user area, specified in edi |
* nnn - not used in the current, must be 0 (zero) |
* nnn - not used in the current, must be 0 (zero) |
* edx = pointer to the beginning of the string |
* esi = for A=0 length of the string, must not exceed 255; |
for A=1 is ignored |
* edi = color to fill background, if B=1 |
* edi = pointer to user area, for redirect, if C=1 |
Returned value: |
* function does not return value |
Remarks: |
1783,8 → 1783,8 |
* ecx = pointer to a block of data: |
sysdir_name rb 64 |
sysdir_path rb 64 |
For example: |
dir_name1 db 'addappl',0 |
For example: |
dir_name1 db 'KolibriOS',0 |
rb 64-8 |
dir_path1 db 'HD0/1',0 |
rb 64-6 |
1805,7 → 1805,7 |
* eax = 0x000000XX - owner of pixel the slot window N |
If incorrect values ebx and ecx then function returns 0 |
* The function takes the value from the area [_WinMapAddress] |
====================================================================== |
======= Function 35 - read the color of a pixel on the screen. ======= |
====================================================================== |
2414,7 → 2414,7 |
=========================== Function 52 ============================== |
====================================================================== |
WARNING: This function is obsolete and is only present in the |
WARNING: This function is obsolete and is only present in the |
documentation as a guide to understand/port the older network |
applications. For new programs, use function 74 |
2587,7 → 2587,7 |
=========================== Function 53 ============================== |
====================================================================== |
WARNING: This function is obsolete and is only present in the |
WARNING: This function is obsolete and is only present in the |
documentation as a guide to understand/port the older network |
applications. For new programs, use function 75. |
4171,8 → 4171,8 |
* '/hd0/2/menuet/pics/tanzania.bmp',0 |
* '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0 |
* '/sys/MySuperApp.ini',0 |
Also function supports relative names. If the path begins not |
with '/', it is considered relative to a current folder. To get or |
Also function supports relative names. If the path begins not |
with '/', it is considered relative to a current folder. To get or |
set a current folder, use the function 30. |
Available subfunctions: |
/kernel/branches/Kolibri-acpi/fs/parse_fn.inc |
---|
36,7 → 36,7 |
sysdir_path1 rb 64 |
; for example: |
;dir_name1 db 'addappl',0 |
;dir_name1 db 'KolibriOS',0 |
; rb 64-8 |
;dir_path1 db 'HD0/1',0 |
; rb 64-6 |
80,7 → 80,7 |
cmp [edx], dword 'MENU' |
jne .next_cd |
jmp .ok |
@@: |
sub al, 49 |
mov [ecx], dword 'HD?/'; if hard disk |
/kernel/trunk/docs/sysfuncr.txt |
---|
48,7 → 48,7 |
* esi = 0xXYRRGGBB - цвет заголовка |
* RR, GG, BB определяют сам цвет |
* Y=0 - обычное окно, Y=1 - неперемещаемое окно |
* X определяет градиент заголовка: X=0 - нет градиента, |
* X определяет градиент заголовка: X=0 - нет градиента, |
X=8 - обычный градиент, |
для окон типа II X=4 - негативный градиент |
* прочие значения X и Y зарезервированы |
74,7 → 74,7 |
координата (или, возможно, обе) считается нулем, а если и это |
не помогает, то соответствующий размер (или, возможно, оба) |
устанавливается в размер экрана. |
Далее обозначим xpos,ypos,xsize,ysize - значения, передаваемые |
в ebx,ecx. Координаты приводятся относительно левого верхнего |
угла окна, который, таким образом, задается как (0,0), координаты |
206,7 → 206,7 |
* B=1 - закрашивать фон цветом edi |
* Y=Cnnn (биты): |
* C=1 перенаправить вывод в область пользователя, задано в edi |
* nnn - не используется в текущем виде, должно быть 0 (zero) |
* nnn - не используется в текущем виде, должно быть 0 (zero) |
* edx = указатель на начало строки |
* esi = для A=0 длина строки, должна быть не больше 255; |
для A=1 игнорируется |
725,7 → 725,7 |
* Узнать, какое окно является активным, можно вызовом подфункции 7. |
====================================================================== |
Функция 18, подфункция 4 - получить счётчик пустых тактов в секунду. |
Функция 18, подфункция 4 - получить счётчик пустых тактов в секунду. |
====================================================================== |
Под пустыми тактами понимается время, в которое процессор простаивает |
в ожидании прерывания (в инструкции hlt). |
746,7 → 746,7 |
* eax = тактовая частота (по модулю 2^32 тактов = 4ГГц) |
====================================================================== |
Функция 18, подфункция 6 - сохранить рамдиск в файл на жёстком диске. |
Функция 18, подфункция 6 - сохранить рамдиск в файл на жёстком диске. |
====================================================================== |
Параметры: |
* eax = 18 - номер функции |
826,7 → 826,7 |
Замечания: |
* Минимизированное окно с точки зрения функции 9 сохраняет положение |
и размеры. |
* Восстановление окна приложения происходит при активизировании |
* Восстановление окна приложения происходит при активизировании |
подфункцией 3. |
* Обычно нет необходимости явно сворачивать/разворачивать своё окно: |
сворачивание окна осуществляется системой при нажатии на кнопку |
1089,7 → 1089,7 |
* иначе eax = номер слота |
====================================================================== |
Функция 18, подфункция 22 - операции с окном другого процесса/потока. |
Функция 18, подфункция 22 - операции с окном другого процесса/потока. |
====================================================================== |
Параметры: |
* eax = 18 - номер функции |
1154,7 → 1154,7 |
* eax = 0 - успешно |
* eax = 1 - не определён базовый порт |
Замечания: |
* Предварительно должен быть определён базовый порт вызовом |
* Предварительно должен быть определён базовый порт вызовом |
подфункции 1 функции 21. |
====================================================================== |
1170,7 → 1170,7 |
Замечания: |
* Номер порта должен удовлетворять условиям 0x100<=ecx<=0xFFFF. |
* Установка базы нужна для работы функции 20. |
* Получить установленный базовый порт можно вызовом |
* Получить установленный базовый порт можно вызовом |
подфункции 1 функции 26. |
====================================================================== |
1200,7 → 1200,7 |
нормальная раскладка, после чего из кода вычитается 0x60; |
если не нажата ни одна из управляющих клавиш, то используется |
нормальная раскладка. |
* Получить раскладки и идентификатор страны можно с помощью |
* Получить раскладки и идентификатор страны можно с помощью |
подфункции 2 функции 26. |
* Идентификатор страны - глобальная системная переменная, которая |
самим ядром не используется; однако приложение @panel отображает |
1218,7 → 1218,7 |
* eax = 0 |
Замечания: |
* База CD используется функцией 24. |
* Получить установленную базу CD можно вызовом |
* Получить установленную базу CD можно вызовом |
подфункции 3 функции 26. |
====================================================================== |
1256,7 → 1256,7 |
* Не следует изменять базу, когда какое-нибудь приложение работает |
с жёстким диском. Если не хотите глюков системы. |
* Получить установленную базу можно вызовом подфункции 7 функции 26. |
* Следует также определить используемый раздел жёсткого диска |
* Следует также определить используемый раздел жёсткого диска |
подфункцией 8. |
====================================================================== |
1279,9 → 1279,9 |
* Получить установленный раздел можно вызовом подфункции 8 |
функции 26. |
* Проверок на корректность не делается. |
* Узнать число разделов на жёстком диске можно вызовом |
* Узнать число разделов на жёстком диске можно вызовом |
подфункции 11 функции 18. |
* Следует также определить используемую базу жёсткого диска |
* Следует также определить используемую базу жёсткого диска |
подфункцией 7. |
====================================================================== |
1367,13 → 1367,13 |
* ebx = частота вертикальной развёртки (в Гц) |
* ecx = номер текущего видеорежима |
Замечания: |
* Драйвер предварительно должен быть инициализирован вызовом |
* Драйвер предварительно должен быть инициализирован вызовом |
функции драйвера 1. |
* Если нужны только размеры экрана, целесообразней использовать |
функцию 14 с учётом того, что она возвращает размеры на 1 меньше. |
====================================================================== |
= Функция 21, подфункция 13, подподфункция 3 - установить видеорежим. |
= Функция 21, подфункция 13, подподфункция 3 - установить видеорежим. |
====================================================================== |
Параметры: |
* eax = 21 - номер функции |
1386,7 → 1386,7 |
* eax = 0 - успешно |
* ebx, ecx разрушаются |
Замечания: |
* Драйвер предварительно должен быть инициализирован вызовом |
* Драйвер предварительно должен быть инициализирован вызовом |
функции драйвера 1. |
* Номер видеорежима и частота должны быть в таблице, возвращаемой |
функцией драйвера 1. |
1405,7 → 1405,7 |
* eax = 0 - успешно |
* ebx, ecx разрушаются |
Замечания: |
* Драйвер предварительно должен быть инициализирован вызовом |
* Драйвер предварительно должен быть инициализирован вызовом |
функции драйвера 1. |
====================================================================== |
1425,7 → 1425,7 |
* eax = 0 - успешно |
* ebx, ecx разрушаются |
Замечания: |
* Драйвер предварительно должен быть инициализирован вызовом |
* Драйвер предварительно должен быть инициализирован вызовом |
функции драйвера 1. |
* Функция влияет только на физический размер изображения |
на мониторе; логический размер (число пикселей) не меняется. |
1506,7 → 1506,7 |
* eax = 0 - успешно |
* eax = 1 - не определена база CD |
Замечания: |
* Предварительно нужно определить базовый порт CD вызовом |
* Предварительно нужно определить базовый порт CD вызовом |
подфункции 3 функции 21. |
* В секунде 75 фреймов, в минуте 60 секунд. |
* Функция асинхронна (возвращает управление, когда началось |
1527,7 → 1527,7 |
* Формат таблицы с информацией о дорожках такой же, как и для |
ATAPI-CD команды 43h (READ TOC), обычной таблицы (подкоманда 00h). |
Адреса возвращаются в формате MSF. |
* Предварительно нужно определить базовый порт CD вызовом |
* Предварительно нужно определить базовый порт CD вызовом |
подфункции 3 функции 21. |
* Функция возвращает информацию только о не более чем 100 |
первых дорожках. В большинстве случаев этого достаточно. |
1542,7 → 1542,7 |
* eax = 0 - успешно |
* eax = 1 - не определена база CD |
Замечания: |
* Предварительно нужно определить базовый порт CD вызовом |
* Предварительно нужно определить базовый порт CD вызовом |
подфункции 3 функции 21. |
====================================================================== |
1606,7 → 1606,7 |
Возвращаемое значение: |
* eax = номер порта |
Замечания: |
* Установить базовый порт можно вызовом |
* Установить базовый порт можно вызовом |
подфункции 1 функции 21. |
====================================================================== |
1639,7 → 1639,7 |
нормальная раскладка, после чего из кода вычитается 0x60; |
если не нажата ни одна из управляющих клавиш, то используется |
нормальная раскладка. |
* Установить раскладки и идентификатор страны можно с помощью |
* Установить раскладки и идентификатор страны можно с помощью |
подфункции 2 функции 21. |
* Идентификатор страны - глобальная системная переменная, которая |
самим ядром не используется; однако приложение @panel отображает |
1734,7 → 1734,7 |
* eax = 0/1 - запрещён/разрешён |
Замечания: |
* Используется при LBA-чтении (подфункция 8 функции 58). |
* Установить текущее состояние можно вызовом |
* Установить текущее состояние можно вызовом |
подфункции 11 функции 21. |
====================================================================== |
1749,7 → 1749,7 |
Замечания: |
* Используется при работе с шиной PCI (функция 62). |
* Текущая реализация использует только младший бит ecx. |
* Установить текущее состояние можно вызовом |
* Установить текущее состояние можно вызовом |
подфункции 12 функции 21. |
====================================================================== |
1788,7 → 1788,7 |
* eax = длина имени текущей папки (включая завершающий 0) |
Замечания: |
* Если размера буфера недостаточно для копирования всего имени, |
копируются только первые (edx-1) байт и в конце ставится |
копируются только первые (edx-1) байт и в конце ставится |
завершающий 0. |
* По умолчанию, текущая папка для потока - "/rd/1". |
* При создании процесса/потока текущая папка наследуется от |
1801,8 → 1801,8 |
* ecx = указатель на блок данных: |
sysdir_name rb 64 |
sysdir_path rb 64 |
Пример: |
dir_name1 db 'addappl',0 |
Пример: |
dir_name1 db 'KolibriOS',0 |
rb 64-8 |
dir_path1 db 'HD0/1',0 |
rb 64-6 |
1983,7 → 1983,7 |
Возвращаемое значение: |
* eax = [ширина]*65536 + [высота] |
Замечания: |
* Есть парная команда установки размеров фонового изображения - |
* Есть парная команда установки размеров фонового изображения - |
подфункция 1 функции 15. После которой, разумеется, следует |
заново определить само изображение. |
2002,7 → 2002,7 |
* Не следует полагаться на возвращаемое значение в случае неверного |
смещения, оно может измениться в следующих версиях ядра. |
* Смещение точки с координатами (x,y) вычисляется как (x+y*xsize)*3. |
* Есть парная функция установки точки на фоновом изображении - |
* Есть парная функция установки точки на фоновом изображении - |
подфункция 2 функции 15. |
====================================================================== |
2015,7 → 2015,7 |
* eax = 1 - замостить |
* eax = 2 - растянуть |
Замечания: |
* Есть парная функция установки режима отрисовки фона - |
* Есть парная функция установки режима отрисовки фона - |
подфункция 4 функции 15. |
====================================================================== |
2070,7 → 2070,7 |
====================================================================== |
= Функция 46 - зарезервировать/освободить группу портов ввода/вывода. |
= Функция 46 - зарезервировать/освободить группу портов ввода/вывода. |
====================================================================== |
К зарезервированным портам можно обращаться напрямую из приложения |
командами in/out (рекомендуемый способ) и вызовом функции 43 |
2165,7 → 2165,7 |
Возвращаемое значение: |
* функция не возвращает значения |
Замечания: |
* После вызова описываемой функции следует перерисовать экран |
* После вызова описываемой функции следует перерисовать экран |
подфункцией 0. |
* Тип кнопок влияет только на их прорисовку функцией 8. |
2182,7 → 2182,7 |
Возвращаемое значение: |
* функция не возвращает значения |
Замечания: |
* После вызова описываемой функции следует перерисовать экран |
* После вызова описываемой функции следует перерисовать экран |
подфункцией 0. |
* Таблица стандартных цветов влияет только на приложения, |
которые эту таблицу явным образом получают (подфункцией 3) и |
2296,7 → 2296,7 |
Аналогично по оси y. |
* Смотри также функцию 14, |
позволяющую определить размеры всего экрана. |
* Есть парная функция получения рабочей области - |
* Есть парная функция получения рабочей области - |
подфункция 5. |
* Эта функция автоматически перерисовывает экран, по ходу дела |
обновляет координаты и размеры максимизированных окон. |
2420,7 → 2420,7 |
* иначе eax = TID - идентификатор потока |
====================================================================== |
= Функция 52, подфункция 0 - получить конфигурацию сетевого драйвера. |
= Функция 52, подфункция 0 - получить конфигурацию сетевого драйвера. |
====================================================================== |
Параметры: |
* eax = 52 - номер функции |
2445,7 → 2445,7 |
* Локальный IP-адрес устанавливается подфункцией 3. |
====================================================================== |
Функция 52, подфункция 2 - установить конфигурацию сетевого драйвера. |
Функция 52, подфункция 2 - установить конфигурацию сетевого драйвера. |
====================================================================== |
Параметры: |
* eax = 52 - номер функции |
2773,7 → 2773,7 |
* ebx разрушается |
====================================================================== |
Функция 53, подфункция 255 - отладочная информация сетевого драйвера. |
Функция 53, подфункция 255 - отладочная информация сетевого драйвера. |
====================================================================== |
Параметры: |
* eax = 53 - номер функции |
3015,8 → 3015,8 |
* Размер блока - 512 байт; читается один блок. |
* Не следует полагаться на возвращаемое значение, |
оно может измениться в следующих версиях. |
* Требуется, чтобы был разрешён LBA-доступ к устройствам |
подфункцией 11 функции 21. Узнать это можно вызовом |
* Требуется, чтобы был разрешён LBA-доступ к устройствам |
подфункцией 11 функции 21. Узнать это можно вызовом |
подфункцией 11 функции 26. |
* LBA-чтение дискеты не поддерживается. |
* Функция считывает данные физического жёсткого диска; |
3030,7 → 3030,7 |
это будет считаться успехом (eax=0). |
====================================================================== |
= Функция 58, подфункция 15 - получить информацию о файловой системе. |
= Функция 58, подфункция 15 - получить информацию о файловой системе. |
====================================================================== |
Параметры: |
* eax = 58 - номер функции |
4057,7 → 4057,7 |
общем описании). |
====================================================================== |
Функция 69, подфункция 7 - записать в память отлаживаемого процесса. |
Функция 69, подфункция 7 - записать в память отлаживаемого процесса. |
====================================================================== |
Параметры: |
* eax = 69 - номер функции |
/kernel/trunk/docs/sysfuncs.txt |
---|
203,13 → 203,13 |
* B=1 - fill background with the color edi |
* Y = Cnnn |
* C=1 redirect the output to the user area, specified in edi |
* nnn - not used in the current, must be 0 (zero) |
* nnn - not used in the current, must be 0 (zero) |
* edx = pointer to the beginning of the string |
* esi = for A=0 length of the string, must not exceed 255; |
for A=1 is ignored |
* edi = color to fill background, if B=1 |
* edi = pointer to user area, for redirect, if C=1 |
Returned value: |
* function does not return value |
Remarks: |
1783,8 → 1783,8 |
* ecx = pointer to a block of data: |
sysdir_name rb 64 |
sysdir_path rb 64 |
For example: |
dir_name1 db 'addappl',0 |
For example: |
dir_name1 db 'KolibriOS',0 |
rb 64-8 |
dir_path1 db 'HD0/1',0 |
rb 64-6 |
1805,7 → 1805,7 |
* eax = 0x000000XX - owner of pixel the slot window N |
If incorrect values ebx and ecx then function returns 0 |
* The function takes the value from the area [_WinMapAddress] |
====================================================================== |
======= Function 35 - read the color of a pixel on the screen. ======= |
====================================================================== |
2414,7 → 2414,7 |
=========================== Function 52 ============================== |
====================================================================== |
WARNING: This function is obsolete and is only present in the |
WARNING: This function is obsolete and is only present in the |
documentation as a guide to understand/port the older network |
applications. For new programs, use function 74 |
2587,7 → 2587,7 |
=========================== Function 53 ============================== |
====================================================================== |
WARNING: This function is obsolete and is only present in the |
WARNING: This function is obsolete and is only present in the |
documentation as a guide to understand/port the older network |
applications. For new programs, use function 75. |
4171,8 → 4171,8 |
* '/hd0/2/menuet/pics/tanzania.bmp',0 |
* '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0 |
* '/sys/MySuperApp.ini',0 |
Also function supports relative names. If the path begins not |
with '/', it is considered relative to a current folder. To get or |
Also function supports relative names. If the path begins not |
with '/', it is considered relative to a current folder. To get or |
set a current folder, use the function 30. |
Available subfunctions: |
/kernel/trunk/fs/parse_fn.inc |
---|
36,7 → 36,7 |
sysdir_path1 rb 64 |
; for example: |
;dir_name1 db 'addappl',0 |
;dir_name1 db 'KolibriOS',0 |
; rb 64-8 |
;dir_path1 db 'HD0/1',0 |
; rb 64-6 |
80,7 → 80,7 |
cmp [edx], dword 'MENU' |
jne .next_cd |
jmp .ok |
@@: |
sub al, 49 |
mov [ecx], dword 'HD?/'; if hard disk |