SysFn75/ru: Difference between revisions
Jump to navigation
Jump to search
Punk Joker (talk | contribs) No edit summary |
No edit summary |
||
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 = код ошибки | ||
'''Константы для регистров:''' | |||
::eax - SF_NETWORK_SOCKET (75) | |||
::bl - SSF_CONNECT (4) | |||
=== | === Подфункция 5 - Accept (Соглашение). === | ||
Параметры: | ''Параметры:'' | ||
* eax = 75 - номер функции | :* eax = 75 - номер функции | ||
* bl = | :* bl = 5 - номер подфункции | ||
* ecx = номер сокета | :* ecx = номер сокета | ||
* edx = указатель на | :* edx = указатель на структуру sockaddr | ||
* esi = длина | :* esi = длина структуры sockaddr | ||
''Возвращаемое значение:'' | |||
Возвращаемое значение: | :* eax = номер сокета из принятого сокета, -1 для ошибки | ||
* eax = | :* ebx = код ошибки | ||
* ebx = код ошибки | |||
=== | '''Константы для регистров:''' | ||
Параметры: | ::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)
|