Difference between revisions of "Unit Winsock"

From Ultibo.org
Jump to: navigation, search
 
Line 1,754: Line 1,754:
 
|-
 
|-
 
! Note
 
! Note
| None documented
+
| Address will be returned in network order
 
|-
 
|-
 
|}
 
|}
Line 1,767: Line 1,767:
 
! Note
 
! 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.
 
| 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.
 +
|-
 +
! Note
 +
| Address will be in network order
 
|-
 
|-
 
|}
 
|}
Line 2,030: Line 2,033:
 
|-
 
|-
 
! Note
 
! Note
| None documented
+
| Address will be in network order where applicable
 
|-
 
|-
 
|}
 
|}
Line 2,066: Line 2,069:
 
|-
 
|-
 
! Note
 
! Note
| None documented
+
| Port will be in network order
 
|-
 
|-
 
|}
 
|}
Line 2,513: Line 2,516:
 
|-
 
|-
 
! Note
 
! Note
| None documented
+
| Address will be in network order where applicable
 
|-
 
|-
 
|}
 
|}

Latest revision as of 05:36, 5 March 2025

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



[Expand]
Winsock specific constants WINSOCK_*


[Expand]
IP protocol IPPROTO_*


[Expand]
IP port IPPORT_*


[Expand]
IP option IP_*


[Expand]
Socket type SOCK_*


[Expand]
Socket option SO_*


[Expand]
TCP option TCP_*


[Expand]
UDP option UDP_*


[Expand]
Address family AF_*


[Expand]
Protocol family PF_*


[Expand]
Message flag MSG_*


[Expand]
WSAAsyncSelect flag FD_*


[Expand]
Socket error WSAE*


[Expand]
WsControlEx option WSA_*


Type definitions


See globalsock.pas

Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure WSInit;
Description: To be documented


[Expand]
function WSStart:Boolean;
Description: To be documented


[Expand]
function WSStop:Boolean;
Description: To be documented


[Expand]
procedure WSAsyncStart(Data:Pointer);
Description: To be documented


Winsock functions

[Expand]
function accept(s: TSocket; addr: PSockAddr; addrlen : ptOS_INT) : TSocket;
Description: To be documented


[Expand]
function accept(s: TSocket; addr: PSockAddr; var addrlen : tOS_INT) : TSocket;
Description: To be documented


[Expand]
function bind(s: TSocket; addr: PSockaddr; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function bind(s: TSocket; var addr: TSockaddr; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function closesocket(s: TSocket):tOS_INT;
Description: To be documented


[Expand]
function connect(s: TSocket; addr:PSockAddr; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function connect(s: TSocket; var name:TSockAddr; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function ioctlsocket(s: TSocket; cmd:longint; var arg:u_long):tOS_INT;
Description: To be documented


[Expand]
function ioctlsocket(s: TSocket; cmd:longint; var arg:longint):tOS_INT;
Description: To be documented


[Expand]
function ioctlsocket(s: TSocket; cmd:longint; argp:pu_long):tOS_INT;
Description: To be documented


[Expand]
function getpeername(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getsockname(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; var optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; var optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; var optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function htonl(hostlong: u_long): u_long;
Description: To be documented


[Expand]
function htons(hostshort: u_short): u_short;
Description: To be documented


[Expand]
function inet_addr(cp: PChar): u_long;
Description: To be documented


[Expand]
function inet_ntoa(inaddr: TInAddr): PChar;
Description: To be documented


[Expand]
function listen(s: TSocket; backlog:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function ntohl(netlong: u_long): u_long;
Description: To be documented


[Expand]
function ntohs(netshort: u_short): u_short;
Description: To be documented


[Expand]
function recv(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recv(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recv(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recvfrom(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recvfrom(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: To be documented


[Expand]
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


[Expand]
function select(nfds:tOS_INT; readfds,writefds,exceptfds : PFDSet;timeout: PTimeVal):tOS_INT;
Description: To be documented


[Expand]
function send(s: TSocket;var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function send(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function send(s: TSocket;buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function sendto(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function sendto(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function sendto(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var toaddr:TSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function shutdown(s: TSocket; how:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function socket(af:tOS_INT; struct:tOS_INT; protocol:tOS_INT):TSocket;
Description: To be documented


[Expand]
function gethostbyaddr(addr:pchar; len:tOS_INT; family:tOS_INT): PHostEnt;
Description: To be documented


[Expand]
function gethostbyname(name: PChar): PHostEnt;
Description: To be documented


[Expand]
function gethostname(name: PChar; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getservbyport(port:tOS_INT; proto: PChar):PServEnt;
Description: To be documented


[Expand]
function getservbyname(name, proto: PChar): PServEnt;
Description: To be documented


[Expand]
function getprotobynumber(proto:tOS_INT):PProtoEnt;
Description: To be documented


[Expand]
function getprotobyname(name: PChar): PProtoEnt;
Description: To be documented


[Expand]
function WSAStartup(wVersionRequired:word; var WSAData:TWSADATA):tOS_INT;
Description: To be documented


[Expand]
function WSACleanup:tOS_INT;
Description: To be documented


[Expand]
procedure WSASetLastError(iError:tOS_INT); inline;
Description: To be documented


[Expand]
function WSAGetLastError:tOS_INT; inline;
Description: To be documented


[Expand]
function WSAIsBlocking: BOOL;
Description: To be documented


[Expand]
function WSAUnhookBlockingHook:tOS_INT;
Description: To be documented


[Expand]
function WSASetBlockingHook(lpBlockFunc: TFarProc): TFarProc;
Description: To be documented


[Expand]
function WSACancelBlockingCall:tOS_INT;
Description: To be documented


[Expand]
function WSAAsyncGetServByName(hWnd:HWND; wMsg:u_int; name:pchar; proto:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented


[Expand]
function WSAAsyncGetServByPort(hWnd:HWND; wMsg:u_int; port:tOS_INT; proto:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented


[Expand]
function WSAAsyncGetProtoByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented


[Expand]
function WSAAsyncGetProtoByNumber(hWnd:HWND; wMsg:u_int; number:tOS_INT; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented


[Expand]
function WSAAsyncGetHostByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented


[Expand]
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


[Expand]
function WSACancelAsyncRequest(hAsyncTaskHandle:THandle):tOS_INT;
Description: To be documented


[Expand]
function WSAAsyncSelect(s: TSocket; hWnd:HWND; wMsg:u_int; lEvent:longint):tOS_INT;
Description: To be documented


[Expand]
function WSARecvEx(s: TSocket;var buf; len:tOS_INT; flags:ptOS_INT):tOS_INT;
Description: To be documented


[Expand]
function __WSAFDIsSet(s: TSocket; var FDSet:TFDSet):Bool;
Description: To be documented


[Expand]
function __WSAFDIsSet_(s: TSocket; var FDSet:TFDSet):tOS_INT;
Description: To be documented


[Expand]
function TransmitFile(hSocket: TSocket; hFile: THandle; nNumberOfBytesToWrite: DWORD; nNumberOfBytesPerSend: DWORD; lpOverlapped: POverlapped; lpTransmitBuffers: PTransmitFileBuffers; dwReserved: DWORD): BOOL;
Description: To be documented


[Expand]
function AcceptEx(sListenSocket, sAcceptSocket: TSocket; lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var lpdwBytesReceived: DWORD; lpOverlapped: POverlapped): BOOL;
Description: To be documented


[Expand]
procedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: PSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: PSockAddr; var RemoteSockaddrLength: Integer);
Description: To be documented


[Expand]
function WSAMakeSyncReply(Buflen,Error:Word):dword;
Description: To be documented


[Expand]
function WSAMakeSelectReply(Event,Error:Word):dword;
Description: To be documented


[Expand]
function WSAGetAsyncBuflen(Param:dword):Word;
Description: To be documented


[Expand]
function WSAGetAsyncError(Param:dword):Word;
Description: To be documented


[Expand]
function WSAGetSelectEvent(Param:dword):Word;
Description: To be documented


[Expand]
function WSAGetSelectError(Param:dword):Word;
Description: To be documented


[Expand]
procedure FD_CLR(Socket:TSocket; var FDSet:TFDSet);
Description: To be documented


[Expand]
function FD_ISSET(Socket:TSocket; var FDSet:TFDSet):Boolean;
Description: To be documented


[Expand]
procedure FD_SET(Socket:TSocket; var FDSet:TFDSet);
Description: To be documented


[Expand]
procedure FD_ZERO(var FDSet:TFDSet);
Description: To be documented


Winsock undocumented functions

[Expand]
function WsControl(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;
Description: To be documented


[Expand]
function getnetbyaddr(addr: Pointer; len, Struct: Integer): PNetEnt;
Description: To be documented


[Expand]
function getnetbyname(name: PChar): PNetEnt;
Description: To be documented


Winsock enhanced functions

[Expand]
function WsControlEx(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;
Description: To be documented


RTL text IO functions

[Expand]
function SysTextIOReadChar(var ACh:Char; AUserData:Pointer):Boolean;
Description: Handler for platform TextIOReadChar function


[Expand]
function SysTextIOWriteChar(ACh:Char; AUserData:Pointer):Boolean;
Description: Handler for platform TextIOWriteChar function


[Expand]
function SysTextIOWriteBuffer(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;
Description: Handler for platform TextIOWriteBuffer function


Winsock helper functions

[Expand]
function WinsockRedirectInput(s:TSocket):Boolean;
Description: Redirect standard input to the socket specified by s


[Expand]
function WinsockRedirectOutput(s:TSocket):Boolean;
Description: Redirect standard output to the socket specified by s


[Expand]
function WinsockErrorToString(AError:LongInt):String;
Description: To be documented


Return to Unit Reference