Difference between revisions of "SysFn75/ru"
Jump to navigation
Jump to search
Punk Joker (talk | contribs) |
Pathoswithin (talk | contribs) |
||
(One intermediate revision by one other user 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 - номер функции | + | :* eax = 75 - номер функции |
− | * bl = | + | :* bl = 5 - номер подфункции |
− | * ecx = номер сокета | + | :* ecx = номер сокета |
− | * edx = указатель на | + | :* edx = указатель на структуру sockaddr |
− | * esi = длина | + | :* esi = длина структуры sockaddr |
− | + | ''Возвращаемое значение:'' | |
− | Возвращаемое значение: | + | :* eax = номер сокета из принятого сокета, -1 для ошибки |
− | * eax = | + | :* ebx = код ошибки |
− | * ebx = код ошибки | ||
− | + | '''Константы для регистров:''' | |
− | + | ::eax - SF_NETWORK_SOCKET (75) | |
− | + | ::bl - SSF_ACCEPT (5) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === Подфункция 8 - | + | === Подфункция 6 - Send (Послать). === |
− | Параметры: | + | ''Параметры:'' |
− | * eax = 75 - номер функции | + | :* eax = 75 - номер функции |
− | * bl = 8 - номер подфункции | + | :* bl = 6 - номер подфункции |
− | * ecx = номер сокета | + | :* ecx = номер сокета |
− | * edx = указатель на optstruct | + | :* edx = указатель на буфер |
− | Возвращаемое значение: | + | :* esi = длина буфера |
− | * eax = -1 для ошибки | + | :* edi = флаги |
− | * ebx = код ошибки | + | ''Возвращаемое значение:'' |
− | Замечания: | + | :* 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 | 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}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[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)
|