diff --git a/kernel/trunk/docs/sysfuncr.txt b/kernel/trunk/docs/sysfuncr.txt index c1b0bf03d7..fd65f8e4e8 100644 --- a/kernel/trunk/docs/sysfuncr.txt +++ b/kernel/trunk/docs/sysfuncr.txt @@ -1048,36 +1048,38 @@ dd 1675 * ebx = 19 - номер подфункции * ecx = 0 - номер подподфункции Возвращаемое значение: - * eax = текущая скорость мыши + * eax = текущий делитель скорости ------------ Подподфункция 1 - установить скорость мыши. ------------- Параметры: * 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 @@ Architecture Software Developer's Manual, Volume 3, Appendix B); eax - SF_NETWORK_GET (74) bl - SSF_LINK_STATUS (10) ====================================================================== -======= Функция 75, подфункция 0, Open socket (Открыть сокет). ======= +============== Функция 75, подфункция 0, Открыть сокет. ============== ====================================================================== Параметры: * eax = 75 - номер функции @@ -4553,7 +4555,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B); eax - SF_NETWORK_SOCKET (75) bl - SSF_OPEN (0) ====================================================================== -======= Функция 75, подфункция 1, Close socket (Закрыть сокет). ====== +============== Функция 75, подфункция 1, Закрыть сокет. ============== ====================================================================== Параметры: * eax = 75 - номер функции @@ -4664,7 +4666,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B); eax - SF_NETWORK_SOCKET (75) bl - SSF_RECEIVE (7) ====================================================================== -= Функция 75, подфункция 8, Set socket options (Задать опции сокета) = +=========== Функция 75, подфункция 8, Задать опции сокета. =========== ====================================================================== Параметры: * eax = 75 - номер функции @@ -4685,7 +4687,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B); eax - SF_NETWORK_SOCKET (75) bl - SSF_SET_OPTIONS (8) ====================================================================== -= Функция 75, подфункция 9, Get socket options(Получить опции сокета) +========== Функция 75, подфункция 9, Получить опции сокета. ========== ====================================================================== Параметры: * eax = 75 - номер функции @@ -4706,14 +4708,14 @@ Architecture Software Developer's Manual, Volume 3, Appendix B); 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 @@ Architecture Software Developer's Manual, Volume 3, Appendix B); * 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 @@ -4741,23 +4747,14 @@ IPv4 (1) 7 - Write subnet 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 @@ ARP (5) ---------------------- Константы для регистров: ---------------------- 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 @@ ARP (5) ==================== Коды ошибок файловой системы ==================== ====================================================================== * 0 = успешно - * 1 = не определена база и/или раздел жёсткого диска (подфункциями - 7, 8 функции 21) * 2 = функция не поддерживается для данной файловой системы * 3 = неизвестная файловая система - * 4 = зарезервировано, никогда не возвращается в текущей реализации * 5 = файл не найден * 6 = файл закончился * 7 = указатель вне памяти приложения * 8 = диск заполнен - * 9 = таблица FAT разрушена + * 9 = ошибка файловой системы * 10 = доступ запрещён * 11 = ошибка устройства + * 12 = файловой системе недостаточно оперативной памяти + При запуске программы возможны также следующие коды ошибок: * 30 = 0x1E = недостаточно памяти * 31 = 0x1F = файл не является исполнимым diff --git a/kernel/trunk/docs/sysfuncs.txt b/kernel/trunk/docs/sysfuncs.txt index fbec0aa0de..40965f0244 100644 --- a/kernel/trunk/docs/sysfuncs.txt +++ b/kernel/trunk/docs/sysfuncs.txt @@ -1041,36 +1041,38 @@ Parameters: * ebx = 19 - subfunction number * ecx = 0 - subsubfunction number Returned value: - * eax = current mouse speed + * eax = current speed divider ---------------- Subsubfunction 1 - set mouse speed. ----------------- Parameters: * 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 @@ Remarks: 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 @@ Parameters: * 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 @@ IPv4 (1) 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 @@ ARP (5) ---------------------- Constants for registers: ---------------------- eax - SF_NETWORK_PROTOCOL (76) - ====================================================================== ========== Function 77, Subfunction 0, Create futex object =========== ====================================================================== @@ -4742,6 +4738,10 @@ Remarks: * 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 @@ Returned value: 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 @@ Remarks: 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 @@ Remarks: 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 @@ Remarks: * 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 @@ Codes of events: =================== 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