Difference between revisions of "SysFn75/ru"
Jump to navigation
Jump to search
Punk Joker (talk | contribs) |
Pathoswithin (talk | contribs) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | ''' | + | === Подфункция 0 - Открыть сокет. === |
+ | ''Параметры:'' | ||
+ | :* eax = 75 - номер функции | ||
+ | :* bl = 0 - номер подфункции | ||
+ | :* ecx = домен | ||
+ | :* edx = тип | ||
+ | :* esi = протокол | ||
+ | ''Возвращаемое значение:'' | ||
+ | :* eax = номер сокета, -1 для ошибки | ||
+ | :* ebx = код ошибки | ||
− | + | '''Константы для регистров:''' | |
− | + | ::eax - SF_NETWORK_SOCKET (75) | |
− | + | ::bl - SSF_OPEN (0) | |
− | |||
− | |||
− | |||
− | === Подфункция | + | === Подфункция 1 - Закрыть сокет. === |
− | Параметры: | + | ''Параметры:'' |
− | * eax = | + | :* eax = 75 - номер функции |
− | * bl = | + | :* bl = 1 - номер подфункции |
− | * | + | :* ecx = номер сокета |
− | Возвращаемое значение: | + | ''Возвращаемое значение:'' |
− | * eax = | + | :* eax = -1 для ошибки |
+ | :* ebx = код ошибки | ||
− | + | '''Константы для регистров:''' | |
− | + | ::eax - SF_NETWORK_SOCKET (75) | |
− | + | ::bl - SSF_CLOSE (1) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === Подфункция 2 - | + | === Подфункция 2 - Bind (Привязка). === |
− | Параметры: | + | ''Параметры:'' |
− | * eax = | + | :* eax = 75 - номер функции |
− | * bl = 2 - номер подфункции | + | :* bl = 2 - номер подфункции |
− | * | + | :* ecx = номер сокета |
− | Возвращаемое значение: | + | :* edx = указатель на структуру sockaddr |
− | * eax = -1 для ошибки | + | :* esi = длина структуры sockaddr |
+ | ''Возвращаемое значение:'' | ||
+ | :* eax = -1 для ошибки | ||
+ | :* ebx = код ошибки | ||
− | === Подфункция 3 - | + | '''Константы для регистров:''' |
− | Параметры: | + | ::eax - SF_NETWORK_SOCKET (75) |
− | * eax = | + | ::bl - SSF_BIND (2) |
− | * bl = 3 - номер подфункции | + | |
− | * | + | === Подфункция 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)
|