Difference between revisions of "SysFn75/ru"

From KolibriOS wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
=== Подфункция 0 - Open socket (Открыть сокет). ===
 
=== Подфункция 0 - Open socket (Открыть сокет). ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 0 - номер подфункции
+
:* bl = 0 - номер подфункции
* ecx = домен
+
:* ecx = домен
* edx = тип
+
:* edx = тип
* esi = протокол
+
:* esi = протокол
Возвращаемое значение:
+
''Возвращаемое значение:''
* eax = номер сокета, -1 для ошибки
+
:* eax = номер сокета, -1 для ошибки
* ebx = код ошибки
+
:* ebx = код ошибки
 +
 
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_OPEN (0)
  
 
=== Подфункция 1 - Close socket (Закрыть сокет). ===
 
=== Подфункция 1 - Close socket (Закрыть сокет). ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 1 - номер подфункции
+
:* bl = 1 - номер подфункции
* ecx = номер сокета
+
:* ecx = номер сокета
Возвращаемое значение:
+
''Возвращаемое значение:''
* eax = -1 для ошибки
+
:* eax = -1 для ошибки
* ebx = код ошибки
+
:* ebx = код ошибки
 +
 
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_CLOSE (1)
  
 
=== Подфункция 2 - Bind (Привязка). ===
 
=== Подфункция 2 - Bind (Привязка). ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 2 - номер подфункции
+
:* bl = 2 - номер подфункции
* ecx = номер сокета
+
:* ecx = номер сокета
* edx = указатель на структуру sockaddr
+
:* edx = указатель на структуру sockaddr
* esi = длина структуры sockaddr
+
:* esi = длина структуры sockaddr
Возвращаемое значение:
+
''Возвращаемое значение:''
* eax = -1 для ошибки
+
:* eax = -1 для ошибки
* ebx = код ошибки
+
:* ebx = код ошибки
 +
 
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_BIND (2)
  
 
=== Подфункция 3 - Listen (Слушать). ===
 
=== Подфункция 3 - Listen (Слушать). ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 3 - номер подфункции
+
:* bl = 3 - номер подфункции
* ecx = номер сокета
+
:* ecx = номер сокета
* edx = backlog (возвращаемый лог)
+
:* edx = backlog (возвращаемый лог)
Возвращаемое значение:
+
''Возвращаемое значение:''
* eax = -1 для ошибки
+
:* eax = -1 для ошибки
* ebx = код ошибки
+
:* ebx = код ошибки
 +
 
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_LISTEN (3)
  
 
=== Подфункция 4 - Connect (Соединение). ===
 
=== Подфункция 4 - Connect (Соединение). ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 4 - номер подфункции
+
:* bl = 4 - номер подфункции
* ecx = номер сокета
+
:* ecx = номер сокета
* edx = указатель на структуру sockaddr
+
:* edx = указатель на структуру sockaddr
* esi = длина структуры sockaddr
+
:* esi = длина структуры sockaddr
Возвращаемое значение:
+
''Возвращаемое значение:''
* eax = -1 для ошибки
+
:* eax = -1 для ошибки
* ebx = код ошибки
+
:* ebx = код ошибки
  
=== Функция 75, подфункция 5, Accept (Соглашение). ===
+
'''Константы для регистров:'''
Параметры:
+
::eax - SF_NETWORK_SOCKET (75)
* eax = 75 - номер функции
+
::bl - SSF_CONNECT (4)
* bl = 5 - номер подфункции
 
* ecx = номер сокета
 
* edx = указатель на структуру sockaddr
 
* esi = длина структуры sockaddr
 
Возвращаемое значение:
 
* eax = номер сокета из принятого сокета, -1 для ошибки
 
* ebx = код ошибки
 
  
=== Функция 75, подфункция 6, Send (Послать). ===
+
=== Подфункция 5 - Accept (Соглашение). ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 6 - номер подфункции
+
:* bl = 5 - номер подфункции
* ecx = номер сокета
+
:* ecx = номер сокета
* edx = указатель на буфер
+
:* edx = указатель на структуру sockaddr
* esi = длина буфера
+
:* esi = длина структуры sockaddr
* edi = флаги
+
''Возвращаемое значение:''
Возвращаемое значение:
+
:* eax = номер сокета из принятого сокета, -1 для ошибки
* eax = количество скопированных байтов, -1 для ошибки
+
:* ebx = код ошибки
* ebx = код ошибки
 
  
=== Функция 75, подфункция 7, Receive (Получить). ===
+
'''Константы для регистров:'''
Параметры:
+
::eax - SF_NETWORK_SOCKET (75)
* eax = 75 - номер функции
+
::bl - SSF_ACCEPT (5)
* bl = 7 - номер подфункции
+
 
* ecx = номер сокета
+
=== Подфункция 6 - Send (Послать). ===
* edx = указатель на буфер
+
''Параметры:''
* esi = длина буфера
+
:* eax = 75 - номер функции
* edi = флаги
+
:* bl = 6 - номер подфункции
Возвращаемое значение:
+
:* ecx = номер сокета
* eax = количество скопированных байтов, -1 для ошибки
+
:* edx = указатель на буфер
* ebx = код ошибки
+
:* esi = длина буфера
 +
:* edi = флаги
 +
''Возвращаемое значение:''
 +
:* eax = количество скопированных байтов, -1 для ошибки
 +
:* ebx = код ошибки
 +
 
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_SEND (6)
 +
 
 +
=== Подфункция 7 - Receive (Получить). ===
 +
''Параметры:''
 +
:* eax = 75 - номер функции
 +
:* bl = 7 - номер подфункции
 +
:* ecx = номер сокета
 +
:* edx = указатель на буфер
 +
:* esi = длина буфера
 +
:* edi = флаги
 +
''Возвращаемое значение:''
 +
:* eax = количество скопированных байтов, -1 для ошибки
 +
:* ebx = код ошибки
 +
 
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_RECEIVE (7)
  
 
=== Подфункция 8 - Set socket options (Задать опции сокета) ===
 
=== Подфункция 8 - Set socket options (Задать опции сокета) ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 8 - номер подфункции
+
:* bl = 8 - номер подфункции
* ecx = номер сокета
+
:* ecx = номер сокета
* edx = указатель на optstruct
+
:* edx = указатель на optstruct
Возвращаемое значение:
+
''Возвращаемое значение:''
* eax = -1 для ошибки
+
:* eax = -1 для ошибки
* ebx = код ошибки
+
:* ebx = код ошибки
Замечания:
+
''Замечания:''
 
   Optstruct: dd level
 
   Optstruct: dd level
 
             dd optionname
 
             dd optionname
 
             dd optlength
 
             dd optlength
 
             db options...
 
             db options...
 +
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_SET_OPTIONS (8)
  
 
=== Подфункция 9 - Get socket options(Получить опции сокета) ===
 
=== Подфункция 9 - Get socket options(Получить опции сокета) ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 9 - номер подфункции
+
:* bl = 9 - номер подфункции
* ecx = номер сокета
+
:* ecx = номер сокета
* edx = указатель на optstruct
+
:* edx = указатель на optstruct
Возвращаемое значение:
+
''Возвращаемое значение:''
* eax = -1 для ошибки
+
:* eax = -1 для ошибки
* ebx = код ошибки
+
:* ebx = код ошибки
Замечания:
+
''Замечания:''
 
   Optstruct: dd level
 
   Optstruct: dd level
 
             dd optionname
 
             dd optionname
 
             dd optlength
 
             dd optlength
 
             db options...
 
             db options...
 +
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_GET_OPTIONS (9)
  
 
=== Подфункция 10 - Get socketpair (Получить парный сокет). ===
 
=== Подфункция 10 - Get socketpair (Получить парный сокет). ===
Параметры:
+
''Параметры:''
* eax = 75 - номер функции
+
:* eax = 75 - номер функции
* bl = 10 - номер подфункции
+
:* bl = 10 - номер подфункции
Возвращаемое значение:
+
''Возвращаемое значение:''
* eax = socketnum1, -1 для ошибки
+
:* eax = socketnum1, -1 для ошибки
* ebx = socketnum2, код ошибки в случае ошибки
+
:* ebx = socketnum2, код ошибки в случае ошибки
Замечания:
+
''Замечания:''
 
   Optstruct: dd level
 
   Optstruct: dd level
 
             dd optionname
 
             dd optionname
 
             dd optlength
 
             dd optlength
 
             db options...
 
             db options...
 +
 +
'''Константы для регистров:'''
 +
::eax - SF_NETWORK_SOCKET (75)
 +
::bl - SSF_GET_PAIR (10)
  
 
{{System_functions}}
 
{{System_functions}}
 
[[Category: SysCalls]]
 
[[Category: SysCalls]]

Revision as of 18:27, 22 January 2016

Подфункция 0 - Open socket (Открыть сокет).

Параметры:

  • eax = 75 - номер функции
  • bl = 0 - номер подфункции
  • ecx = домен
  • edx = тип
  • esi = протокол

Возвращаемое значение:

  • eax = номер сокета, -1 для ошибки
  • ebx = код ошибки

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_OPEN (0)

Подфункция 1 - Close socket (Закрыть сокет).

Параметры:

  • eax = 75 - номер функции
  • bl = 1 - номер подфункции
  • ecx = номер сокета

Возвращаемое значение:

  • eax = -1 для ошибки
  • ebx = код ошибки

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_CLOSE (1)

Подфункция 2 - Bind (Привязка).

Параметры:

  • eax = 75 - номер функции
  • bl = 2 - номер подфункции
  • ecx = номер сокета
  • edx = указатель на структуру sockaddr
  • esi = длина структуры sockaddr

Возвращаемое значение:

  • eax = -1 для ошибки
  • ebx = код ошибки

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_BIND (2)

Подфункция 3 - Listen (Слушать).

Параметры:

  • eax = 75 - номер функции
  • bl = 3 - номер подфункции
  • ecx = номер сокета
  • edx = backlog (возвращаемый лог)

Возвращаемое значение:

  • eax = -1 для ошибки
  • ebx = код ошибки

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_LISTEN (3)

Подфункция 4 - Connect (Соединение).

Параметры:

  • eax = 75 - номер функции
  • bl = 4 - номер подфункции
  • ecx = номер сокета
  • edx = указатель на структуру sockaddr
  • esi = длина структуры sockaddr

Возвращаемое значение:

  • eax = -1 для ошибки
  • ebx = код ошибки

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_CONNECT (4)

Подфункция 5 - Accept (Соглашение).

Параметры:

  • eax = 75 - номер функции
  • bl = 5 - номер подфункции
  • ecx = номер сокета
  • edx = указатель на структуру sockaddr
  • esi = длина структуры sockaddr

Возвращаемое значение:

  • eax = номер сокета из принятого сокета, -1 для ошибки
  • ebx = код ошибки

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_ACCEPT (5)

Подфункция 6 - Send (Послать).

Параметры:

  • eax = 75 - номер функции
  • bl = 6 - номер подфункции
  • ecx = номер сокета
  • edx = указатель на буфер
  • esi = длина буфера
  • edi = флаги

Возвращаемое значение:

  • eax = количество скопированных байтов, -1 для ошибки
  • ebx = код ошибки

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_SEND (6)

Подфункция 7 - Receive (Получить).

Параметры:

  • eax = 75 - номер функции
  • bl = 7 - номер подфункции
  • ecx = номер сокета
  • edx = указатель на буфер
  • esi = длина буфера
  • edi = флаги

Возвращаемое значение:

  • eax = количество скопированных байтов, -1 для ошибки
  • ebx = код ошибки

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_RECEIVE (7)

Подфункция 8 - Set socket options (Задать опции сокета)

Параметры:

  • eax = 75 - номер функции
  • bl = 8 - номер подфункции
  • ecx = номер сокета
  • edx = указатель на optstruct

Возвращаемое значение:

  • eax = -1 для ошибки
  • ebx = код ошибки

Замечания:

 Optstruct: dd level
            dd optionname
            dd optlength
            db options...

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_SET_OPTIONS (8)

Подфункция 9 - Get socket options(Получить опции сокета)

Параметры:

  • eax = 75 - номер функции
  • bl = 9 - номер подфункции
  • ecx = номер сокета
  • edx = указатель на optstruct

Возвращаемое значение:

  • eax = -1 для ошибки
  • ebx = код ошибки

Замечания:

 Optstruct: dd level
            dd optionname
            dd optlength
            db options...

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_GET_OPTIONS (9)

Подфункция 10 - Get socketpair (Получить парный сокет).

Параметры:

  • eax = 75 - номер функции
  • bl = 10 - номер подфункции

Возвращаемое значение:

  • eax = socketnum1, -1 для ошибки
  • ebx = socketnum2, код ошибки в случае ошибки

Замечания:

 Optstruct: dd level
            dd optionname
            dd optlength
            db options...

Константы для регистров:

eax - SF_NETWORK_SOCKET (75)
bl - SSF_GET_PAIR (10)