SysFn75/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Функция 74.'''
=== Подфункция 0 - Открыть сокет. ===
''Параметры:''
:* eax = 75 - номер функции
:* bl = 0 - номер подфункции
:* ecx = домен
:* edx = тип
:* esi = протокол
''Возвращаемое значение:''
:* eax = номер сокета, -1 для ошибки
:* ebx = код ошибки


=== Подфункция -1 - получить количество активных сетевых устройств. ===
'''Константы для регистров:'''
Параметры:
::eax - SF_NETWORK_SOCKET (75)
* eax = 74 - номер функции
::bl - SSF_OPEN (0)
* bl = -1 - номер подфункции
Возвращаемое значение:
* eax = количество активных сетевых устройств


=== Подфункция 0 - получить тип сетевого устройства. ===
=== Подфункция 1 - Закрыть сокет. ===
Параметры:
''Параметры:''
* eax = 74 - номер функции
:* eax = 75 - номер функции
* bl = 0 - номер подфункции
:* bl = 1 - номер подфункции
* bh = номер устройства
:* ecx = номер сокета
Возвращаемое значение:
''Возвращаемое значение:''
* eax = тип устройства
:* eax = -1 для ошибки
:* ebx = код ошибки


=== Подфункция 1 - получить имя сетевого устройства. ===
'''Константы для регистров:'''
Параметры:
::eax - SF_NETWORK_SOCKET (75)
* eax = 74 - номер функции
::bl - SSF_CLOSE (1)
* bl = 1 - номер подфункции
* bh = номер устройства
* ecx = указатель на буфера - 64 байт
Возвращаемое значение:
* eax = -1 для ошибки
* В случае успеха в буфер записывается имя сетевого устройства


=== Подфункция 2 - сброс сетевого устройства. ===
=== Подфункция 2 - Bind (Привязка). ===
Параметры:
''Параметры:''
* eax = 74 - номер функции
:* eax = 75 - номер функции
* bl = 2 - номер подфункции
:* bl = 2 - номер подфункции
* bh = номер устройства
:* ecx = номер сокета
Возвращаемое значение:
:* edx = указатель на структуру sockaddr
* eax = -1 для ошибки
:* esi = длина структуры sockaddr
''Возвращаемое значение:''
:* eax = -1 для ошибки
:* ebx = код ошибки


=== Подфункция 3 - остановить сетевое устройство. ===
'''Константы для регистров:'''
Параметры:
::eax - SF_NETWORK_SOCKET (75)
* eax = 74 - номер функции
::bl - SSF_BIND (2)
* bl = 3 - номер подфункции
 
* bh = номер устройства
=== Подфункция 3 - Listen (Слушать). ===
Возвращаемое значение:
''Параметры:''
* eax = -1 для ошибки
:* 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 - Задать опции сокета ===
''Параметры:''
:* 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 - Получить опции сокета ===
''Параметры:''
:* 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 - Получить парный сокет. ===
''Параметры:''
:* eax = 75 - номер функции
:* bl = 10 - номер подфункции
''Возвращаемое значение:''
:* eax = номер первого сокета / -1 для ошибки
:* ebx = номер второго сокета / код ошибки
''Замечания:''
  Optstruct: dd level
            dd optionname
            dd optlength
            db options...
 
'''Константы для регистров:'''
::eax - SF_NETWORK_SOCKET (75)
::bl - SSF_GET_PAIR (10)
 
{{System_functions}}
[[Category: SysCalls]]

Latest revision as of 23:49, 15 February 2016

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

Параметры:

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

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

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

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

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

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

Параметры:

  • 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 - Задать опции сокета

Параметры:

  • 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 - Получить опции сокета

Параметры:

  • 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 - Получить парный сокет.

Параметры:

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

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

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

Замечания:

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

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

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