Difference between revisions of "SysFn75/ru"
Jump to navigation
Jump to search
Punk Joker (talk | contribs) |
|||
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)
|