home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Standards
/
CD1.mdf
/
winsock
/
winsock.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-02-13
|
8KB
|
163 lines
unit WINSOCK;
{ Winsock.h file for Borland Pascal
Conversion by Marc B. Manza
Center for Applied Large-Scale Computing
Requires Winsock.pas and Winsock.inc
Send any comments/change requests/etc. to:
manza@flash.poly.edu }
interface
uses WIN31, WinTypes, WinProcs;
{$I winsock.inc }
{ Library Functions }
function accept (s : SOCKET; addr : sockaddr; addrlen : integer) : SOCKET;
function bind (s : SOCKET; addr : sockaddr; namelen : integer) : integer;
function closesocket (s : SOCKET) : integer;
function connect (s : SOCKET; name : sockaddr; namelen : integer) : integer;
function ioctlsocket (s : SOCKET; cmd : longint; argp : u_long) : integer;
function getpeername (s : SOCKET; name : sockaddr; namelen : integer) : integer;
function getsockname (s : SOCKET; name : sockaddr; namelen : integer) : integer;
function getsockopt (s : SOCKET; level, optname : integer; optval : PChar; optlen : integer) : integer;
function htonl (hostlong : u_long) : u_long;
function htons (hostshort : u_short) : u_short;
function inet_addr (cp : PChar) : PIn_Addr; { in_addr }
function inet_ntoa (inaddr : in_addr) : PChar;
function listen (s : SOCKET; backlog : integer) : integer;
function ntohl (netlong : u_long) : u_long;
function ntohs (netshort : u_short) : u_short;
function recv (s : SOCKET; buf : PChar; len, flags : integer) : integer;
function recvfrom (s : SOCKET; buf : PChar; len, flags : integer; from : sockaddr; fromlen : integer) : integer;
function select (nfds : integer; readfds, writefds, exceptfds : fd_set; timeout : timeval) : longint;
function send (s : SOCKET; buf : PChar; len, flags : integer) : integer;
function sendto (s : SOCKET; buf : PChar; len, flags : integer; addrto : sockaddr; tolen : integer) : integer;
function setsockopt (s : SOCKET; level, optname : integer; optval : PChar; optlen : integer) : integer;
function shutdown (s : SOCKET; how : integer) : integer;
function _socket (af, struct, protocol : integer) : SOCKET;
function gethostbyaddr (addr : PChar; len, struct : integer) : PHostEnt; { hostent }
function gethostbyname (name : PChar) : PHostEnt; { hostent }
function getservbyport (port : integer; proto : PChar) : PServEnt; { servent }
function getservbyname (name, proto : PChar) : PServEnt; { servent }
function getprotobynumber (proto : integer) : PProtoEnt; { protoent }
function getprotobyname (name : PChar) : PProtoEnt; { protoent }
function WSAStartup (wVersionRequired : word; lpWSData : LPWSADATA) : integer;
function WSACleanup : integer;
procedure WSASetLastError (iError : integer);
function WSAGetLastError : integer;
function WSAIsBlocking : BOOL;
function WSAUnhookBlockingHook : integer;
function WSASetBlockingHook (lpBlockFunc : TFarProc) : TFarProc;
function WSACancelBlockingCall : integer;
function WSAAsyncGetServByName (HWindow : HWND; wMsg : u_int; name, proto, buf : PChar; buflen : integer) : THandle;
function WSAAsyncGetServByPort ( HWindow : HWND; wMsg, port : u_int; proto, buf : PChar; buflen : integer) : THandle;
function WSAAsyncGetProtoByName (HWindow : HWND; wMsg : u_int; name, buf : PChar; buflen : integer) : THandle;
function WSAAsyncGetProtoByNumber (HWindow : HWND; wMsg : u_int; number : integer;
buf : PChar; buflen : integer) : THandle;
function WSAAsyncGetHostByName (HWindow : HWND; wMsg : u_int; name, buf : PChar; buflen : integer) : THandle;
function WSAAsyncGetHostByAddr (HWindow : HWND; wMsg : u_int; addr : PChar; len, struct : integer;
buf : PChar; buflen : integer) : THandle;
function WSACancelAsyncRequest (hAsyncTaskHandle : THandle) : integer;
function WSAAsyncSelect (s : SOCKET; HWindow : HWND; wMsg : u_int; lEvent : longint) : integer;
function WSAMakeSyncReply (Buflen, Error : Word) : LongInt;
function WSAMakeSelectReply (Event, Error : Word) : LongInt;
function WSAGetAsyncBuflen (Param : LongInt) : Word;
function WSAGetAsyncError (Param : LongInt) : Word;
function WSAGetSelectEvent (Param : LongInt) : Word;
function WSAGetSelectError (Param : LongInt) : Word;
implementation
var
fdSet : fd_set;
function FIONBIO (x, y : integer; t : u_long) : u_long;
begin
FIONBIO := (IOC_IN OR ((IOCPARM_MASK shl 16) OR (x SHL 8) OR (Y)));
end;
function WSAMakeSyncReply;
begin
WSAMakeSyncReply := MakeLong (Buflen, Error);
end;
function WSAMakeSelectReply;
begin
WSAMakeSelectReply := MakeLong (Event, Error);
end;
function WSAGetAsyncBuflen;
begin
WSAGetAsyncBuflen := LOWORD(Param);
end;
function WSAGetAsyncError;
begin
WSAGetAsyncError := HIWORD(Param);
end;
function WSAGetSelectEvent;
begin
WSAGetSelectEvent := LOWORD(Param);
end;
function WSAGetSelectError;
begin
WSAGetSelectError := HIWORD(Param);
end;
function accept; external 'WINSOCK' index 1;
function bind; external 'WINSOCK' index 2;
function closesocket; external 'WINSOCK' index 3;
function connect; external 'WINSOCK' index 4;
function ioctlsocket; external 'WINSOCK' index 12;
function getpeername; external 'WINSOCK' index 5;
function getsockname; external 'WINSOCK' index 6;
function getsockopt; external 'WINSOCK' index 7;
function htonl; external 'WINSOCK' index 8;
function htons; external 'WINSOCK' index 9;
function inet_addr; external 'WINSOCK' index 10;
function inet_ntoa; external 'WINSOCK' index 11;
function listen; external 'WINSOCK' index 13;
function ntohl; external 'WINSOCK' index 14;
function ntohs; external 'WINSOCK' index 15;
function recv; external 'WINSOCK' index 16;
function recvfrom; external 'WINSOCK' index 17;
function select; external 'WINSOCK' index 18;
function send; external 'WINSOCK' index 19;
function sendto; external 'WINSOCK' index 20;
function setsockopt; external 'WINSOCK' index 21;
function shutdown; external 'WINSOCK' index 22;
function _socket; external 'WINSOCK' index 23;
function gethostbyaddr; external 'WINSOCK' index 51;
function gethostbyname; external 'WINSOCK' index 52;
function getprotobyname; external 'WINSOCK' index 53;
function getprotobynumber; external 'WINSOCK' index 54;
function getservbyname; external 'WINSOCK' index 55;
function getservbyport; external 'WINSOCK' index 56;
function WSAAsyncSelect; external 'WINSOCK' index 101;
function WSAAsyncGetHostByAddr; external 'WINSOCK' index 102;
function WSAAsyncGetHostByName; external 'WINSOCK' index 103;
function WSAAsyncGetProtoByNumber; external 'WINSOCK' index 104;
function WSAAsyncGetprotoByName; external 'WINSOCK' index 105;
function WSAAsyncGetServByPort; external 'WINSOCK' index 106;
function WSAAsyncGetServByName; external 'WINSOCK' index 107;
function WSACancelAsyncRequest; external 'WINSOCK' index 108;
function WSASetBlockingHook; external 'WINSOCK' index 109;
function WSAUnhookBlockingHook; external 'WINSOCK' index 110;
function WSAGetLastError; external 'WINSOCK' index 111;
procedure WSASetLastError; external 'WINSOCK' index 112;
function WSACancelBlockingCall; external 'WINSOCK' index 113;
function WSAIsBlocking; external 'WINSOCK' index 114;
function WSAStartup; external 'WINSOCK' index 115;
function WSACleanup; external 'WINSOCK' index 116;
end.