Difference between revisions of "Unit Sockets"

From Ultibo.org
Jump to: navigation, search
Line 819: Line 819:
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<pre style="border: 0; padding-bottom:0px;">procedure Sock2File(Sock:Longint; Var SockIn,SockOut:File);</pre>
 
<pre style="border: 0; padding-bottom:0px;">procedure Sock2File(Sock:Longint; Var SockIn,SockOut:File);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Sockets helper functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsProcessConfig(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsProcessFilter(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsProcessProtocol(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsProcessSocket(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsProcessAuth(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsProcessMonitor(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsProcessTransport(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsProcessAdapter(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SocketsNetworkDeviceAdd(Event:PSocketsDeviceEvent);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SocketsNetworkDeviceRemove(Network:PNetworkDevice):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SocketsNetworkDeviceEnum(Network:PNetworkDevice; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! '''Note'''
 +
| To be documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SocketsNetworkDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">

Revision as of 04:47, 2 September 2016

Return to Unit Reference


Description


This unit includes the interface normally provided by the sockets unit in the FPC package rtl-extras. The rtl-extras package does not build the sockets unit for target Ultibo as this unit will always be available to provide the required functionality for any other package that uses it.

Constants


To be documented

Type definitions


To be documented

Public variables


To be documented

Function declarations



Initialization functions

procedure SocketsInit;
Description: To be documented
Note To be documented


function SocketsStart:LongWord;
Description: To be documented
Note To be documented


function SocketsStop:LongWord;
Description: To be documented
Note To be documented


procedure SocketsAsyncStart(Data:Pointer);
Description: To be documented
Note To be documented


Sockets functions

function SocketError: cint;
Description: To be documented
Note To be documented


function Socket(Domain,SocketType,Protocol:Longint):Longint;
Description: To be documented
Note To be documented


function Send(Sock:Longint; const Buf; BufLen,Flags:Longint):Longint;
Description: To be documented
Note To be documented


function SendTo(Sock:Longint; const Buf; BufLen,Flags:Longint; var Addr; AddrLen : Longint):Longint;
Description: To be documented
Note To be documented


function Recv(Sock:Longint; var Buf; BufLen,Flags:Longint):Longint;
Description: To be documented
Note To be documented


function RecvFrom(Sock : Longint; var Buf; Buflen,Flags : Longint; var Addr; var AddrLen : longint) : longint;
Description: To be documented
Note To be documented


function Connect(Sock:Longint; const Addr; Addrlen:Longint):Boolean;
Description: To be documented
Note To be documented


function Shutdown(Sock:Longint; How:Longint):Longint;
Description: To be documented
Note To be documented


function Bind(Sock:Longint; const Addr; AddrLen:Longint):Boolean;
Description: To be documented
Note To be documented


function Listen(Sock,MaxConnect:Longint):Boolean;
Description: To be documented
Note To be documented


function Accept(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented
Note To be documented


function GetSocketName(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented
Note To be documented


function GetPeerName(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented
Note To be documented


function GetSocketOptions(Sock,Level,OptName:Longint; var OptVal; var optlen:longint):Longint;
Description: To be documented
Note To be documented


function SetSocketOptions(Sock,Level,OptName:Longint; const OptVal; optlen:longint):Longint;
Description: To be documented
Note To be documented


function SocketPair(Domain,SocketType,Protocol:Longint; var Pair:TSockArray):Longint;
Description: To be documented
Note To be documented


function CloseSocket(Sock:Longint):Longint;
Description: To be documented
Note To be documented


function Inet_Addr(cp: PChar): Longint;
Description: To be documented
Note To be 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 Sockets function call is made within the same thread. Therefore, the data should be copied before another Sockets call


function Inet_Pton(family: Longint; Source: PChar; Dest: Pointer): Longint;
Description: To be documented
Note To be documented


function Inet_Ntop(family: Longint; Source: Pointer; Dest: PChar; Size: Longint): PChar;
Description: To be documented
Note To be documented


function GetHostByAddr(addr: Pointer; len, family: Longint): PHostEnt;
Description: To be documented
Note To be documented


function GetHostByName(name: PChar): PHostEnt;
Description: To be documented
Note To be documented


function GetHostName(name: PChar; len: Longint): Longint;
Description: To be documented
Note To be documented


function GetNetByAddr(addr: Pointer; len, Struct: Integer): PNetEnt;
Description: To be documented
Note To be documented


function GetNetByName(name: PChar): PNetEnt;
Description: To be documented
Note To be documented


function GetServByPort(port: Longint; proto: PChar): PServEnt;
Description: To be documented
Note To be documented


function GetServByName(name, proto: PChar): PServEnt;
Description: To be documented
Note To be documented


function GetProtoByNumber(proto: Longint): PProtoEnt;
Description: To be documented
Note To be documented


function GetProtoByName(name: PChar): PProtoEnt;
Description: To be documented
Note To be documented


function GetAddrInfo(HostName, ServName: PChar; Hints: PAddrInfo; var Addr: PAddrInfo): Longint;
Description: To be documented
Note To be documented


procedure FreeAddrInfo(ai: PAddrInfo);
Description: To be documented
Note To be documented


function GetNameInfo(sa: PSockAddr; salen: Longint; host: PChar; hostlen: DWORD; serv: PChar; servlen: DWORD; flags: Longint): Longint;
Description: To be documented
Note To be documented


RTL sockets functions

function fpsocket(domain:cint; xtype:cint; protocol: cint):cint;
Description: To be documented
Note To be documented


function fpsend(s:cint; msg:pointer; len:size_t; flags:cint):ssize_t;
Description: To be documented
Note To be documented


function fpsendto(s:cint; msg:pointer; len:size_t; flags:cint; tox :psockaddr; tolen: tsocklen):ssize_t;
Description: To be documented
Note To be documented


function fprecv(s:cint; buf: pointer; len: size_t; flags: cint):ssize_t;
Description: To be documented
Note To be documented


function fprecvfrom(s:cint; buf: pointer; len: size_t; flags: cint; from : psockaddr; fromlen : psocklen):ssize_t;
Description: To be documented
Note To be documented


function fpconnect(s:cint; name  : psockaddr; namelen : tsocklen):cint;
Description: To be documented
Note To be documented


function fpshutdown(s:cint; how:cint):cint;
Description: To be documented
Note To be documented


function fpbind(s:cint; addrx : psockaddr; addrlen : tsocklen):cint;
Description: To be documented
Note To be documented


function fplisten(s:cint; backlog : cint):cint;
Description: To be documented
Note To be documented


function fpaccept(s:cint; addrx : psockaddr; addrlen : psocklen):cint;
Description: To be documented
Note To be documented


function fpgetsockname(s:cint; name  : psockaddr; namelen : psocklen):cint;
Description: To be documented
Note To be documented


function fpgetpeername(s:cint; name  : psockaddr; namelen : psocklen):cint;
Description: To be documented
Note To be documented


function fpgetsockopt(s:cint; level:cint; optname:cint; optval:pointer; optlen : psocklen):cint;
Description: To be documented
Note To be documented


function fpsetsockopt(s:cint; level:cint; optname:cint; optval:pointer; optlen :tsocklen):cint;
Description: To be documented
Note To be documented


function fpsocketpair(d:cint; xtype:cint; protocol:cint; sv:pcint):cint;
Description: To be documented
Note To be documented


RTL File/Text sockets functions

function fpRead(Handle:LongInt; var BufPtr; Size:DWORD):DWORD;
Description: To be documented
Note To be documented


function fpWrite(Handle:LongInt; var BufPtr; Size:DWORD):DWORD;
Description: To be documented
Note To be documented


procedure OpenSock(var F:Text);
Description: To be documented
Note To be documented


procedure IOSock(var F:Text);
Description: To be documented
Note To be documented


procedure FlushSock(var F:Text);
Description: To be documented
Note To be documented


procedure CloseSock(var F:text);
Description: To be documented
Note To be documented


procedure Sock2Text(Sock:Longint; Var SockIn,SockOut:Text);
Description: Set up two Pascal Text file descriptors for reading and writing
Note To be documented


function DoAccept(Sock:longint; var addr:TInetSockAddr):longint;
Description: To be documented
Note To be documented


function Accept(Sock:longint; var addr:TInetSockAddr; var SockIn,SockOut:File):Boolean;
Description: To be documented
Note To be documented


function Accept(Sock:longint; var addr:TInetSockAddr; var SockIn,SockOut:text):Boolean;
Description: To be documented
Note To be documented


function DoConnect(Sock:longint; const addr:TInetSockAddr):Boolean;
Description: To be documented
Note To be documented


function Connect(Sock:longint; const addr:TInetSockAddr; var SockIn,SockOut:text):Boolean;
Description: To be documented
Note To be documented


function Connect(Sock:longint; const addr:TInetSockAddr; var SockIn,SockOut:file):Boolean;
Description: To be documented
Note To be documented


procedure Sock2File(Sock:Longint; Var SockIn,SockOut:File);
Description: To be documented
Note To be documented


Sockets helper functions

procedure SocketsProcessConfig(Data:Pointer);
Description: To be documented
Note To be documented


procedure SocketsProcessFilter(Data:Pointer);
Description: To be documented
Note To be documented


procedure SocketsProcessProtocol(Data:Pointer);
Description: To be documented
Note To be documented


procedure SocketsProcessSocket(Data:Pointer);
Description: To be documented
Note To be documented


procedure SocketsProcessAuth(Data:Pointer);
Description: To be documented
Note To be documented


procedure SocketsProcessMonitor(Data:Pointer);
Description: To be documented
Note To be documented


procedure SocketsProcessTransport(Data:Pointer);
Description: To be documented
Note To be documented


procedure SocketsProcessAdapter(Data:Pointer);
Description: To be documented
Note To be documented


procedure SocketsNetworkDeviceAdd(Event:PSocketsDeviceEvent);
Description: To be documented
Note To be documented


function SocketsNetworkDeviceRemove(Network:PNetworkDevice):LongWord;
Description: To be documented
Note To be documented


function SocketsNetworkDeviceEnum(Network:PNetworkDevice; Data:Pointer):LongWord;
Description: To be documented
Note To be documented


function SocketsNetworkDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
Description: To be documented
Note To be documented


Return to Unit Reference