Unit Winsock
From Ultibo.org
								
												
				Return to Unit Reference
Description
Ultibo Winsock interface unit
Notes:
- All BSD/Winsock functions that accept an Address or Port expect them to be in Network order.
 - All other functions that take an Address or Port expect them to be in Host order.
 
Constants
To be documented
Type definitions
To be documented
Public variables
To be documented
Function declarations
Initialization functions
procedure WSInit;
Description: To be documented
| Note | None documented | 
|---|
function WSStart:Boolean;
Description: To be documented
| Note | None documented | 
|---|
function WSStop:Boolean;
Description: To be documented
| Note | None documented | 
|---|
procedure WSAsyncStart(Data:Pointer);
Description: To be documented
| Note | None documented | 
|---|
Winsock functions
function accept(s: TSocket; addr: PSockAddr; addrlen : ptOS_INT) : TSocket;
Description: To be documented
| Note | None documented | 
|---|
function accept(s: TSocket; addr: PSockAddr; var addrlen : tOS_INT) : TSocket;
Description: To be documented
| Note | None documented | 
|---|
function bind(s: TSocket; addr: PSockaddr; namelen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function bind(s: TSocket; var addr: TSockaddr; namelen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function closesocket(s: TSocket):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function connect(s: TSocket; addr:PSockAddr; namelen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function connect(s: TSocket; var name:TSockAddr; namelen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function ioctlsocket(s: TSocket; cmd:longint; var arg:u_long):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function ioctlsocket(s: TSocket; cmd:longint; var arg:longint):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function ioctlsocket(s: TSocket; cmd:longint; argp:pu_long):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function getpeername(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function getsockname(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; var optlen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; var optlen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; var optlen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function htonl(hostlong: u_long): u_long;
Description: To be documented
| Note | None documented | 
|---|
function htons(hostshort: u_short): u_short;
Description: To be documented
| Note | None documented | 
|---|
function inet_addr(cp: PChar): u_long;
Description: To be documented
| Note | None documented | 
|---|
function inet_ntoa(inaddr: TInAddr): PChar;
Description: To be documented
| Note | As per the Winsock specification, the buffer returned by this function is only guaranteed to be valid until the next Winsock function call is made within the same thread. Therefore, the data should be copied before another Winsock call. | 
|---|
function listen(s: TSocket; backlog:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function ntohl(netlong: u_long): u_long;
Description: To be documented
| Note | None documented | 
|---|
function ntohs(netshort: u_short): u_short;
Description: To be documented
| Note | None documented | 
|---|
function recv(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function recv(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function recv(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function recvfrom(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function recvfrom(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function recvfrom(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var from:TSockAddr; var fromlen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function select(nfds:tOS_INT; readfds,writefds,exceptfds : PFDSet;timeout: PTimeVal):tOS_INT;
Description: To be documented
| Note | All sockets contained in the FSSet must by of the same type | 
|---|
function send(s: TSocket;var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function send(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function send(s: TSocket;buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function sendto(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function sendto(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function sendto(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var toaddr:TSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; optlen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; optlen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; optlen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function shutdown(s: TSocket; how:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function socket(af:tOS_INT; struct:tOS_INT; protocol:tOS_INT):TSocket;
Description: To be documented
| Note | None documented | 
|---|
function gethostbyaddr(addr:pchar; len:tOS_INT; family:tOS_INT): PHostEnt;
Description: To be documented
| Note | None documented | 
|---|
function gethostbyname(name: PChar): PHostEnt;
Description: To be documented
| Note | None documented | 
|---|
function gethostname(name: PChar; namelen:tOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function getservbyport(port:tOS_INT; proto: PChar):PServEnt;
Description: To be documented
| Note | None documented | 
|---|
function getservbyname(name, proto: PChar): PServEnt;
Description: To be documented
| Note | None documented | 
|---|
function getprotobynumber(proto:tOS_INT):PProtoEnt;
Description: To be documented
| Note | None documented | 
|---|
function getprotobyname(name: PChar): PProtoEnt;
Description: To be documented
| Note | None documented | 
|---|
function WSAStartup(wVersionRequired:word; var WSAData:TWSADATA):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function WSACleanup:tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
procedure WSASetLastError(iError:tOS_INT);
Description: To be documented
| Note | None documented | 
|---|
function WSAGetLastError:tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function WSAIsBlocking: BOOL;
Description: To be documented
| Note | None documented | 
|---|
function WSAUnhookBlockingHook:tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function WSASetBlockingHook(lpBlockFunc: TFarProc): TFarProc;
Description: To be documented
| Note | None documented | 
|---|
function WSACancelBlockingCall:tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function WSAAsyncGetServByName(hWnd:HWND; wMsg:u_int; name:pchar; proto:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
| Note | None documented | 
|---|
function WSAAsyncGetServByPort(hWnd:HWND; wMsg:u_int; port:tOS_INT; proto:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
| Note | None documented | 
|---|
function WSAAsyncGetProtoByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
| Note | None documented | 
|---|
function WSAAsyncGetProtoByNumber(hWnd:HWND; wMsg:u_int; number:tOS_INT; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
| Note | None documented | 
|---|
function WSAAsyncGetHostByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
| Note | None documented | 
|---|
function WSAAsyncGetHostByAddr(hWnd:HWND; wMsg:u_int; addr:pchar; len:tOS_INT; family:tOS_INT; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
| Note | None documented | 
|---|
function WSACancelAsyncRequest(hAsyncTaskHandle:THandle):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function WSAAsyncSelect(s: TSocket; hWnd:HWND; wMsg:u_int; lEvent:longint):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function WSARecvEx(s: TSocket;var buf; len:tOS_INT; flags:ptOS_INT):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function __WSAFDIsSet(s: TSocket; var FDSet:TFDSet):Bool;
Description: To be documented
| Note | None documented | 
|---|
function __WSAFDIsSet_(s: TSocket; var FDSet:TFDSet):tOS_INT;
Description: To be documented
| Note | None documented | 
|---|
function TransmitFile(hSocket: TSocket; hFile: THandle; nNumberOfBytesToWrite: DWORD; nNumberOfBytesPerSend: DWORD; lpOverlapped: POverlapped; lpTransmitBuffers: PTransmitFileBuffers; dwReserved: DWORD): BOOL;
Description: To be documented
| Note | None documented | 
|---|
function AcceptEx(sListenSocket, sAcceptSocket: TSocket; lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var lpdwBytesReceived: DWORD; lpOverlapped: POverlapped): BOOL;
Description: To be documented
| Note | None documented | 
|---|
procedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: TSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: TSockAddr; var RemoteSockaddrLength: Integer);
Description: To be documented
| Note | None documented | 
|---|
function WSAMakeSyncReply(Buflen,Error:Word):dword;
Description: To be documented
| Note | None documented | 
|---|
function WSAMakeSelectReply(Event,Error:Word):dword;
Description: To be documented
| Note | None documented | 
|---|
function WSAGetAsyncBuflen(Param:dword):Word;
Description: To be documented
| Note | None documented | 
|---|
function WSAGetAsyncError(Param:dword):Word;
Description: To be documented
| Note | None documented | 
|---|
function WSAGetSelectEvent(Param:dword):Word;
Description: To be documented
| Note | None documented | 
|---|
function WSAGetSelectError(Param:dword):Word;
Description: To be documented
| Note | None documented | 
|---|
procedure FD_CLR(Socket:TSocket; var FDSet:TFDSet);
Description: To be documented
| Note | None documented | 
|---|
function FD_ISSET(Socket:TSocket; var FDSet:TFDSet):Boolean;
Description: To be documented
| Note | None documented | 
|---|
procedure FD_SET(Socket:TSocket; var FDSet:TFDSet);
Description: To be documented
| Note | None documented | 
|---|
procedure FD_ZERO(var FDSet:TFDSet);
Description: To be documented
| Note | None documented | 
|---|
Winsock undocumented functions
function WsControl(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;
Description: To be documented
| Note | None documented | 
|---|
function getnetbyaddr(addr: Pointer; len, Struct: Integer): PNetEnt;
Description: To be documented
| Note | None documented | 
|---|
function getnetbyname(name: PChar): PNetEnt;
Description: To be documented
| Note | None documented | 
|---|
Winsock enhanced functions
function WsControlEx(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;
Description: To be documented
| Note | None documented | 
|---|
Winsock helper functions
function WinsockErrorToString(AError:LongInt):String;
Description: To be documented
| Note | None documented | 
|---|
Return to Unit Reference