Unit Winsock

From Ultibo.org
Revision as of 05:33, 19 December 2016 by Ultibo (Talk | contribs)

Jump to: navigation, search

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