kolibrios/programs/cmm/lib/socket.h
Kirill Lipatov (Leency) 8effd409af Eolite 1.8: improved menu, rename fixed
git-svn-id: svn://kolibrios.org@3439 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-04-01 15:41:17 +00:00

67 lines
898 B
C

#define SOCKET_PASSIVE 0
#define SOCKET_ACTIVE 1
inline fastcall dword OpenSocket( ECX, EDX, ESI, EDI)
{
$mov eax,53
$mov ebx,5
$int 0x40
}
inline fastcall dword CloseSocket( ECX )
{
$mov eax, 53
$mov ebx, 8
$int 0x40
}
inline fastcall int StatusSocket( ECX)
{
$mov eax,53
$mov ebx,6
$int 0x40
}
inline fastcall dword ReadSocket( ECX) //ecx - handle
{
$mov eax,53
$mov ebx,3
$int 0x40
return BL;
}
inline fastcall dword ReadNetworkData( ECX, EDX, ESI)
{
$mov eax, 53
$mov ebx, 11
$int 0x40
}
inline fastcall dword PollSocket( ECX)
{
$mov eax,53
$mov ebx,2
$int 0x40
}
inline fastcall dword WriteSocket( ECX, EDX, ESI)
{
$mov eax,53
$mov ebx,7
$int 0x40
}
inline fastcall int IsPortFree( ECX)
{
$mov eax,53
$mov ebx,9
$int 0x40
}
unsigned int GetFreePort(int port_i)
{
for (; port_i<65535; port_i++;)
if (IsPortFree(port_i)==1) return port_i;
return 0;
}