SysFn75/ru: Difference between revisions
Jump to navigation
Jump to search
Punk Joker (talk | contribs) No edit summary |
Pathoswithin (talk | contribs) No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
=== Подфункция 0 - | === Подфункция 0 - Открыть сокет. === | ||
Параметры: | ''Параметры:'' | ||
* eax = 75 - номер функции | :* eax = 75 - номер функции | ||
* bl = 0 - номер подфункции | :* bl = 0 - номер подфункции | ||
* ecx = домен | :* ecx = домен | ||
* edx = тип | :* edx = тип | ||
* esi = протокол | :* esi = протокол | ||
Возвращаемое значение: | ''Возвращаемое значение:'' | ||
* eax = номер сокета, -1 для ошибки | :* eax = номер сокета, -1 для ошибки | ||
* ebx = код ошибки | :* ebx = код ошибки | ||
=== Подфункция 1 - | '''Константы для регистров:''' | ||
Параметры: | ::eax - SF_NETWORK_SOCKET (75) | ||
* eax = 75 - номер функции | ::bl - SSF_OPEN (0) | ||
* bl = 1 - номер подфункции | |||
* ecx = номер сокета | === Подфункция 1 - Закрыть сокет. === | ||
Возвращаемое значение: | ''Параметры:'' | ||
* eax = -1 для ошибки | :* eax = 75 - номер функции | ||
* ebx = код ошибки | :* bl = 1 - номер подфункции | ||
:* ecx = номер сокета | |||
''Возвращаемое значение:'' | |||
:* eax = -1 для ошибки | |||
:* 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 = код ошибки | ||
'''Константы для регистров:''' | |||
::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 - номер функции | :* eax = 75 - номер функции | ||
* bl = | :* bl = 6 - номер подфункции | ||
* ecx = номер сокета | :* ecx = номер сокета | ||
* edx = указатель на | :* edx = указатель на буфер | ||
* esi = длина | :* esi = длина буфера | ||
Возвращаемое значение: | :* edi = флаги | ||
* eax = | ''Возвращаемое значение:'' | ||
* ebx = код ошибки | :* eax = количество скопированных байтов, -1 для ошибки | ||
:* ebx = код ошибки | |||
'''Константы для регистров:''' | |||
::eax - SF_NETWORK_SOCKET (75) | |||
::bl - SSF_SEND (6) | |||
=== | === Подфункция 7 - Receive (Получить). === | ||
Параметры: | ''Параметры:'' | ||
* eax = 75 - номер функции | :* eax = 75 - номер функции | ||
* bl = 7 - номер подфункции | :* bl = 7 - номер подфункции | ||
* ecx = номер сокета | :* ecx = номер сокета | ||
* edx = указатель на буфер | :* edx = указатель на буфер | ||
* esi = длина буфера | :* esi = длина буфера | ||
* edi = флаги | :* edi = флаги | ||
Возвращаемое значение: | ''Возвращаемое значение:'' | ||
* eax = количество скопированных байтов, -1 для ошибки | :* eax = количество скопированных байтов, -1 для ошибки | ||
* ebx = код ошибки | :* ebx = код ошибки | ||
=== Подфункция 8 - | '''Константы для регистров:''' | ||
Параметры: | ::eax - SF_NETWORK_SOCKET (75) | ||
* eax = 75 - номер функции | ::bl - SSF_RECEIVE (7) | ||
* bl = 8 - номер подфункции | |||
* ecx = номер сокета | === Подфункция 8 - Задать опции сокета === | ||
* edx = указатель на optstruct | ''Параметры:'' | ||
Возвращаемое значение: | :* eax = 75 - номер функции | ||
* eax = -1 для ошибки | :* bl = 8 - номер подфункции | ||
* ebx = код ошибки | :* ecx = номер сокета | ||
Замечания: | :* edx = указатель на optstruct | ||
''Возвращаемое значение:'' | |||
:* eax = -1 для ошибки | |||
:* ebx = код ошибки | |||
''Замечания:'' | |||
Optstruct: dd level | Optstruct: dd level | ||
dd optionname | dd optionname | ||
Line 101: | Line 133: | ||
db options... | db options... | ||
=== Подфункция 9 - | '''Константы для регистров:''' | ||
Параметры: | ::eax - SF_NETWORK_SOCKET (75) | ||
* eax = 75 - номер функции | ::bl - SSF_SET_OPTIONS (8) | ||
* bl = 9 - номер подфункции | |||
* ecx = номер сокета | === Подфункция 9 - Получить опции сокета === | ||
* edx = указатель на optstruct | ''Параметры:'' | ||
Возвращаемое значение: | :* eax = 75 - номер функции | ||
* eax = -1 для ошибки | :* bl = 9 - номер подфункции | ||
* ebx = код ошибки | :* ecx = номер сокета | ||
Замечания: | :* edx = указатель на optstruct | ||
''Возвращаемое значение:'' | |||
:* eax = -1 для ошибки | |||
:* ebx = код ошибки | |||
''Замечания:'' | |||
Optstruct: dd level | Optstruct: dd level | ||
dd optionname | dd optionname | ||
Line 116: | Line 152: | ||
db options... | db options... | ||
=== Подфункция 10 - | '''Константы для регистров:''' | ||
Параметры: | ::eax - SF_NETWORK_SOCKET (75) | ||
* eax = 75 - номер функции | ::bl - SSF_GET_OPTIONS (9) | ||
* bl = 10 - номер подфункции | |||
Возвращаемое значение: | === Подфункция 10 - Получить парный сокет. === | ||
* eax = | ''Параметры:'' | ||
* ebx = | :* eax = 75 - номер функции | ||
Замечания: | :* bl = 10 - номер подфункции | ||
''Возвращаемое значение:'' | |||
:* eax = номер первого сокета / -1 для ошибки | |||
:* 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_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)
|