#ifndef INCLUDE_SOCKET_H #define INCLUDE_SOCKET_H #print "[include <socket.h>]\n" #ifndef INCLUDE_KOLIBRI_H #include "../lib/kolibri.h" #endif #define SOCK_STREAM 1 #define SOCK_DGRAM 2 #define AF_INET4 2 #define MSG_PEEK 0x02 #define MSG_DONTWAIT 0x40 dword errorcode; struct sockaddr_in { word sin_family; word sin_port; dword sin_addr; char padding[8]; }; inline fastcall dword Socket(ECX, EDX, ESI) { $push ebx $mov eax, 75 $mov ebx, 0 $int 0x40 errorcode = EBX; $pop ebx } inline fastcall dword Close(ECX) { $push ebx $mov eax, 75 $mov ebx, 1 $int 0x40 errorcode = EBX; $pop ebx } inline fastcall dword Bind(ECX, EDX, ESI) { $push ebx $mov eax, 75 $mov ebx, 2 $int 0x40 errorcode = EBX; $pop ebx } inline fastcall dword Listen(ECX, EDX) { $push ebx $mov eax, 75 $mov ebx, 3 $int 0x40 errorcode = EBX; $pop ebx } inline fastcall dword Connect(ECX, EDX, ESI) { $push ebx $mov eax, 75 $mov ebx, 4 $int 0x40 errorcode = EBX; $pop ebx } inline fastcall dword Accept(ECX, EDX, ESI) { $push ebx $mov eax, 75 $mov ebx, 5 $int 0x40 errorcode = EBX; $pop ebx } inline fastcall dword Send(ECX, EDX, ESI, EDI) { $push ebx $mov eax, 75 $mov ebx, 6 $int 0x40 errorcode = EBX; $pop ebx } inline fastcall dword Receive(ECX, EDX, ESI, EDI) { $push ebx $mov eax, 75 $mov ebx, 7 $int 0x40 errorcode = EBX; $pop ebx } #endif