Unit Sockets

From Ultibo.org
Revision as of 02:37, 30 December 2016 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


Ultibo Network Sockets interface unit

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



[Expand]
Sockets specific constants SOCKETS_*


[Expand]
Socket error constants Esock*, EAI_*


[Expand]
Socket shutdown option constants SHUT_*


[Expand]
Socket type constants SOCK_*


[Expand]
Socket input/output constants S_IN*


[Expand]
Address family constants AF_*


[Expand]
Protocol family constants PF_*


[Expand]
IP protocol constants IPPROTO_*


[Expand]
IP port constants IPPORT_*


[Expand]
IP option constants IP_*


[Expand]
Socket option constants SO_*


[Expand]
TCP option constants TCP_*


[Expand]
UDP option constants UDP_*


[Expand]
Message flag constants MSG_*


[Expand]
Address info flag constants AI_*


[Expand]
Name info flag constants NI_*


Type definitions


To be documented

Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure SocketsInit;
Description: To be documented


[Expand]
function SocketsStart:LongWord;
Description: To be documented


[Expand]
function SocketsStop:LongWord;
Description: To be documented


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


Sockets functions

[Expand]
function SocketError: cint;
Description: To be documented


[Expand]
function Socket(Domain,SocketType,Protocol:Longint):Longint;
Description: To be documented


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


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


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


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


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


[Expand]
function Shutdown(Sock:Longint; How:Longint):Longint;
Description: To be documented


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


[Expand]
function Listen(Sock,MaxConnect:Longint):Boolean;
Description: To be documented


[Expand]
function Accept(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented


[Expand]
function GetSocketName(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented


[Expand]
function GetPeerName(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented


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


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


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


[Expand]
function CloseSocket(Sock:Longint):Longint;
Description: To be documented


[Expand]
function Inet_Addr(cp: PChar): Longint;
Description: To be documented


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


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


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


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


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


[Expand]
function GetHostName(name: PChar; len: Longint): Longint;
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


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


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


[Expand]
function GetProtoByNumber(proto: Longint): PProtoEnt;
Description: To be documented


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


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


[Expand]
procedure FreeAddrInfo(ai: PAddrInfo);
Description: To be documented


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


RTL sockets functions

[Expand]
function fpsocket(domain:cint; xtype:cint; protocol: cint):cint;
Description: To be documented


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


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


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


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


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


[Expand]
function fpshutdown(s:cint; how:cint):cint;
Description: To be documented


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


[Expand]
function fplisten(s:cint; backlog : cint):cint;
Description: To be documented


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


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


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


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


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


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


RTL File/Text sockets functions

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


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


[Expand]
procedure OpenSock(var F:Text);
Description: To be documented


[Expand]
procedure IOSock(var F:Text);
Description: To be documented


[Expand]
procedure FlushSock(var F:Text);
Description: To be documented


[Expand]
procedure CloseSock(var F:text);
Description: To be documented


[Expand]
procedure Sock2Text(Sock:Longint; Var SockIn,SockOut:Text);
Description: Set up two Pascal Text file descriptors for reading and writing


[Expand]
function DoAccept(Sock:longint; var addr:TInetSockAddr):longint;
Description: To be documented


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


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


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


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


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


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


Sockets helper functions

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


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


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


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


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


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


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


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


[Expand]
procedure SocketsNetworkDeviceAdd(Event:PSocketsDeviceEvent);
Description: To be documented


[Expand]
function SocketsNetworkDeviceRemove(Network:PNetworkDevice):LongWord;
Description: To be documented


[Expand]
function SocketsNetworkDeviceEnum(Network:PNetworkDevice; Data:Pointer):LongWord;
Description: To be documented


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


RTL sockets helper functions

[Expand]
function htonl(host:cardinal):cardinal; inline;
Description: To be documented


[Expand]
function ntohl(net:cardinal):cardinal; inline;
Description: To be documented


[Expand]
function htons(host:word):word; inline;
Description: To be documented


[Expand]
function ntohs(net:word):word; inline;
Description: To be documented


[Expand]
function NetAddrToStr(Entry:in_addr):AnsiString;
Description: To be documented


[Expand]
function HostAddrToStr(Entry:in_addr):AnsiString;
Description: To be documented


[Expand]
function StrToHostAddr(IP:AnsiString):in_addr;
Description: To be documented


[Expand]
function StrToNetAddr(IP:AnsiString):in_addr;
Description: To be documented


[Expand]
function HostToNet(Host:in_addr):in_addr;
Description: To be documented


[Expand]
function NetToHost(Net:in_addr):in_addr;
Description: To be documented


[Expand]
function HostToNet(Host:Longint):Longint;
Description: To be documented


[Expand]
function NetToHost(Net:Longint):Longint;
Description: To be documented


[Expand]
function ShortHostToNet(Host:Word):Word;
Description: To be documented


[Expand]
function ShortNetToHost(Net:Word):Word;
Description: To be documented


[Expand]
function LocalIntToHex(Value:Integer; Digits:LongInt):AnsiString;
Description: To be documented


[Expand]
function HostAddrToStr6(Entry:Tin6_addr):AnsiString;
Description: To be documented


[Expand]
function StrToHostAddr6(IP:String):Tin6_addr; 
Description: To be documented


[Expand]
function NetAddrToStr6(Entry:Tin6_addr):AnsiString;
Description: To be documented


[Expand]
function StrToNetAddr6(IP:AnsiString):TIn6_Addr;
Description: To be documented


Return to Unit Reference