Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6230 → Rev 6235

/kernel/trunk/docs/sysfuncr.txt
1048,7 → 1048,7
* ebx = 19 - номер подфункции
* ecx = 0 - номер подподфункции
Возвращаемое значение:
* eax = текущая скорость мыши
* eax = текущий делитель скорости
 
------------ Подподфункция 1 - установить скорость мыши. -------------
Параметры:
1055,29 → 1055,31
* eax = 18 - номер функции
* ebx = 19 - номер подфункции
* ecx = 1 - номер подподфункции
* edx = новое значение скорости
* edx = новое значение делителя скорости
Возвращаемое значение:
* функция не возвращает значения
 
Замечание: рекомендуемая скорость = 1, 0 = заблокировать курсор.
Замечание: рекомендуемый делитель скорости = 4
 
------------- Подподфункция 2 - получить ускорение мыши. -------------
---------- Подподфункция 2 - получить чувствительность мыши ----------
Параметры:
* eax = 18 - номер функции
* ebx = 19 - номер подфункции
* ecx = 2 - номер подподфункции
Возвращаемое значение:
* eax = 0 - выключить, 1 - слабое, 2 - среднее, 3 - сильное
* eax = текущий коэффициент чувствительности
 
------------ Подподфункция 3 - установить ускорение мыши. ------------
--------- Подподфункция 3 - установить чувствительность мыши ---------
Параметры:
* eax = 18 - номер функции
* ebx = 19 - номер подфункции
* ecx = 3 - номер подподфункции
* edx = 0 - выключить, 1 - слабое, 2 - среднее, 3 - сильное
* edx = новое значение коэффициента чувствительности
Возвращаемое значение:
* функция не возвращает значения
 
Замечание: рекомендуемый коэффициент чувствительности = 3
 
-------- Подподфункция 4 - установить положение курсора мыши. --------
Параметры:
* eax = 18 - номер функции
4537,7 → 4539,7
eax - SF_NETWORK_GET (74)
bl - SSF_LINK_STATUS (10)
======================================================================
======= Функция 75, подфункция 0, Open socket (Открыть сокет). =======
============== Функция 75, подфункция 0, Открыть сокет. ==============
======================================================================
Параметры:
* eax = 75 - номер функции
4553,7 → 4555,7
eax - SF_NETWORK_SOCKET (75)
bl - SSF_OPEN (0)
======================================================================
======= Функция 75, подфункция 1, Close socket (Закрыть сокет). ======
============== Функция 75, подфункция 1, Закрыть сокет. ==============
======================================================================
Параметры:
* eax = 75 - номер функции
4664,7 → 4666,7
eax - SF_NETWORK_SOCKET (75)
bl - SSF_RECEIVE (7)
======================================================================
= Функция 75, подфункция 8, Set socket options (Задать опции сокета) =
=========== Функция 75, подфункция 8, Задать опции сокета. ===========
======================================================================
Параметры:
* eax = 75 - номер функции
4685,7 → 4687,7
eax - SF_NETWORK_SOCKET (75)
bl - SSF_SET_OPTIONS (8)
======================================================================
= Функция 75, подфункция 9, Get socket options(Получить опции сокета)
========== Функция 75, подфункция 9, Получить опции сокета. ==========
======================================================================
Параметры:
* eax = 75 - номер функции
4706,14 → 4708,14
eax - SF_NETWORK_SOCKET (75)
bl - SSF_GET_OPTIONS (9)
======================================================================
= Функция 75, подфункция 10, Get socketpair (Получить парный сокет). =
========== Функция 75, подфункция 10, Получить парный сокет ==========
======================================================================
Параметры:
* eax = 75 - номер функции
* bl = 10 - номер подфункции
Возвращаемое значение:
* eax = socketnum1, -1 для ошибки
* ebx = socketnum2, код ошибки в случае ошибки
* eax = номер первого сокета / -1 для ошибки
* ebx = номер второго сокета / код ошибки
 
---------------------- Константы для регистров: ----------------------
eax - SF_NETWORK_SOCKET (75)
4727,12 → 4729,16
* bh = номер устройства
* bl = номер подфункции
 
Ethernet (0)
Протоколы и подфункции:
 
0 - Ethernet:
0 - Read MAC
IPv4 (1)
0 - Read # IP packets sent
1 - Read # IP packets received
общие подфункции:
0 - пакетов послано
1 - пакетов принято
 
1 - IPv4:
2 - Read IP
3 - Write IP
4 - Read DNS
4742,22 → 4748,13
8 - Read gateway
9 - Write gateway
ICMP (2)
0 - Read # ICMP packets sent
1 - Read # ICMP packets received
2 - ICMP:
3 - enable/disable ICMP echo reply
 
UDP (3)
0 - Read # UDP packets sent
1 - Read # UDP packets received
3 - UDP
4 - TCP
 
TCP (4)
0 - Read # TCP packets sent
1 - Read # TCP packets received
ARP (5)
0 - Read # ARP packets sent
1 - Read # ARP packets received
5 - ARP:
2 - Read # ARP entry's
3 - Read ARP entry
4 - Add static ARP entry
4768,6 → 4765,64
---------------------- Константы для регистров: ----------------------
eax - SF_NETWORK_PROTOCOL (76)
======================================================================
============= Функция 77, подфункция 0, Создать фьютекс. =============
======================================================================
Параметры:
* eax = 77 - номер функции
* ebx = 0 - номер подфункции
* ecx = указатель на контрольное значение фьютекса (dword)
Возвращаемое значение:
* eax = дескриптор фьютекса, 0 при ошибке
 
---------------------- Константы для регистров: ----------------------
eax - SF_FUTEX (77)
ebx - SSF_CREATE (0)
======================================================================
============= Функция 77, подфункция 1, Удалить фьютекс. =============
======================================================================
Параметры:
* eax = 77 - номер функции
* ebx = 1 - номер подфункции
* ecx = дескриптор фьютекса
Возвращаемое значение:
* eax = 0 - успешно, -1 при ошибке
Замечания:
* Ядро автоматически удаляет фьютексы при завершении процесса.
 
---------------------- Константы для регистров: ----------------------
eax - SF_FUTEX (77)
ebx - SSF_DESTROY (1)
======================================================================
================= Функция 77, подфункция 2, Ожидать. =================
======================================================================
Параметры:
* eax = 77 - номер функции
* ebx = 2 - номер подфункции
* ecx = дескриптор фьютекса
* edx = контрольное значение
* esi = таймаут в сотых секунды, 0 - ждать бесконечно
Возвращаемое значение:
* eax = 0 - успешно, -1 - таймаут,
-2 - контрольное значение не соответствует
 
---------------------- Константы для регистров: ----------------------
eax - SF_FUTEX (77)
ebx - SSF_WAIT (2)
======================================================================
================ Функция 77, подфункция 3, Разбудить. ================
======================================================================
Параметры:
* eax = 77 - номер функции
* ebx = 3 - номер подфункции
* ecx = дескриптор фьютекса
* edx = сколько ожидающих будить (максимум)
Возвращаемое значение:
* eax = количество разбуженых
 
---------------------- Константы для регистров: ----------------------
eax - SF_FUTEX (77)
ebx - SSF_WAKE (3)
======================================================================
========== Функция -1 - завершить выполнение потока/процесса =========
======================================================================
Параметры:
4821,18 → 4876,17
==================== Коды ошибок файловой системы ====================
======================================================================
* 0 = успешно
* 1 = не определена база и/или раздел жёсткого диска (подфункциями
7, 8 функции 21)
* 2 = функция не поддерживается для данной файловой системы
* 3 = неизвестная файловая система
* 4 = зарезервировано, никогда не возвращается в текущей реализации
* 5 = файл не найден
* 6 = файл закончился
* 7 = указатель вне памяти приложения
* 8 = диск заполнен
* 9 = таблица FAT разрушена
* 9 = ошибка файловой системы
* 10 = доступ запрещён
* 11 = ошибка устройства
* 12 = файловой системе недостаточно оперативной памяти
 
При запуске программы возможны также следующие коды ошибок:
* 30 = 0x1E = недостаточно памяти
* 31 = 0x1F = файл не является исполнимым
/kernel/trunk/docs/sysfuncs.txt
1041,7 → 1041,7
* ebx = 19 - subfunction number
* ecx = 0 - subsubfunction number
Returned value:
* eax = current mouse speed
* eax = current speed divider
 
---------------- Subsubfunction 1 - set mouse speed. -----------------
Parameters:
1048,29 → 1048,31
* eax = 18 - function number
* ebx = 19 - subfunction number
* ecx = 1 - subsubfunction number
* edx = new value for speed
* edx = new value for speed divider
Returned value:
* function does not return value
 
Remark: recommended speed = 1, 0 = lock the cursor.
Remark: recommended speed divider = 4
 
------------- Subsubfunction 2 - get mouse acceleration. -------------
-------------- Subsubfunction 2 - get mouse sensitivity --------------
Parameters:
* eax = 18 - function number
* ebx = 19 - subfunction number
* ecx = 2 - subsubfunction number
Returned value:
* eax = 0 - off, 1 - slight, 2 - medium, 3 - intense
* eax = current sensitivity
 
------------- Subsubfunction 3 - set mouse acceleration. -------------
-------------- Subsubfunction 3 - set mouse sensitivity --------------
Parameters:
* eax = 18 - function number
* ebx = 19 - subfunction number
* ecx = 3 - subsubfunction number
* edx = 0 - off, 1 - slight, 2 - medium, 3 - intense
* edx = new value for sensitivity
Returned value:
* function does not return value
 
Remark: recommended sensitivity = 3
 
----------- Subsubfunction 4 - set mouse pointer position. -----------
Parameters:
* eax = 18 - function number
4667,7 → 4669,7
eax - SF_NETWORK_SOCKET (75)
bl - SSF_GET_OPTIONS (9)
======================================================================
============ Function 75, Subfunction 10, Get socketpair. ===========
============ Function 75, Subfunction 10, Get socketpair. ============
======================================================================
Parameters:
* eax = 75 - function number
4688,12 → 4690,16
* bh = device number
* bl = subfunction number
 
Ethernet (0)
Protocols and subfunctions:
 
0 - Ethernet:
0 - Read MAC
 
IPv4 (1)
0 - Read # IP packets sent
1 - Read # IP packets received
common subfunctions:
0 - Read # packets sent
1 - Read # packets received
 
1 - IPv4:
2 - Read IP
3 - Write IP
4 - Read DNS
4703,22 → 4709,13
8 - Read gateway
9 - Write gateway
 
ICMP (2)
0 - Read # ICMP packets sent
1 - Read # ICMP packets received
2 - ICMP:
3 - enable/disable ICMP echo reply
 
UDP (3)
0 - Read # UDP packets sent
1 - Read # UDP packets received
3 - UDP
4 - TCP
 
TCP (4)
0 - Read # TCP packets sent
1 - Read # TCP packets received
 
ARP (5)
0 - Read # ARP packets sent
1 - Read # ARP packets received
5 - ARP:
2 - Read # ARP entry's
3 - Read ARP entry
4 - Add static ARP entry
4728,7 → 4725,6
 
---------------------- Constants for registers: ----------------------
eax - SF_NETWORK_PROTOCOL (76)
 
======================================================================
========== Function 77, Subfunction 0, Create futex object ===========
======================================================================
4742,6 → 4738,10
* Use subfunction 1 to destroy the futex.
The kernel destroys the futexes automatically when the process
terminates.
 
---------------------- Constants for registers: ----------------------
eax - SF_FUTEX (77)
ebx - SSF_CREATE (0)
======================================================================
========= Function 77, Subfunction 1, Destroy futex object ===========
======================================================================
4754,6 → 4754,9
Remarks:
* The futex handle must have been created by subfunction 0
 
---------------------- Constants for registers: ----------------------
eax - SF_FUTEX (77)
ebx - SSF_DESTROY (1)
======================================================================
=============== Function 77, Subfunction 2, Futex wait ===============
======================================================================
4773,6 → 4776,9
waiting for a wake operation on the futex.
* The futex handle must have been created by subfunction 0
 
---------------------- Constants for registers: ----------------------
eax - SF_FUTEX (77)
ebx - SSF_WAIT (2)
======================================================================
=============== Function 77, Subfunction 3, Futex wake ===============
======================================================================
4789,6 → 4795,9
waiting (e.g., inside futex wait) on the futex dword
* The futex handle must have been created by subfunction 0
 
---------------------- Constants for registers: ----------------------
eax - SF_FUTEX (77)
ebx - SSF_WAKE (3)
======================================================================
=============== Function -1 - terminate thread/process ===============
======================================================================
4804,6 → 4813,8
* This function terminates the current thread. Other thread can be
killed by call to subfunction 2 of function 18.
 
---------------------- Constants for registers: ----------------------
eax - SF_TERMINATE_PROCESS (-1)
======================================================================
=========================== List of events ===========================
======================================================================
4841,18 → 4852,17
=================== Error codes of the file system ===================
======================================================================
* 0 = success
* 1 = base and/or partition of a hard disk is not defined
(by subfunctions 7, 8 of function 21)
* 2 = function is not supported for the given file system
* 3 = unknown file system
* 4 = reserved, is never returned in the current implementation
* 5 = file not found
* 6 = end of file, EOF
* 7 = pointer lies outside of application memory
* 8 = disk is full
* 9 = FAT table is destroyed
* 9 = file system error
* 10 = access denied
* 11 = device error
* 12 = file system requires more memory
 
Application start functions can return also following errors:
* 30 = 0x1E = not enough memory
* 31 = 0x1F = file is not executable