Unit Sockets
From Ultibo.org
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
To be documented
Type definitions
To be documented
Public variables
To be documented
Function declarations
Initialization functions
procedure SocketsInit;
Description: To be documented
Note | None documented |
---|
function SocketsStart:LongWord;
Description: To be documented
Note | None documented |
---|
function SocketsStop:LongWord;
Description: To be documented
Note | None documented |
---|
procedure SocketsAsyncStart(Data:Pointer);
Description: To be documented
Note | None documented |
---|
Sockets functions
function SocketError: cint;
Description: To be documented
Note | None documented |
---|
function Socket(Domain,SocketType,Protocol:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function Send(Sock:Longint; const Buf; BufLen,Flags:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function SendTo(Sock:Longint; const Buf; BufLen,Flags:Longint; var Addr; AddrLen : Longint):Longint;
Description: To be documented
Note | None documented |
---|
function Recv(Sock:Longint; var Buf; BufLen,Flags:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function RecvFrom(Sock : Longint; var Buf; Buflen,Flags : Longint; var Addr; var AddrLen : longint) : longint;
Description: To be documented
Note | None documented |
---|
function Connect(Sock:Longint; const Addr; Addrlen:Longint):Boolean;
Description: To be documented
Note | None documented |
---|
function Shutdown(Sock:Longint; How:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function Bind(Sock:Longint; const Addr; AddrLen:Longint):Boolean;
Description: To be documented
Note | None documented |
---|
function Listen(Sock,MaxConnect:Longint):Boolean;
Description: To be documented
Note | None documented |
---|
function Accept(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function GetSocketName(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function GetPeerName(Sock:Longint; var Addr; var Addrlen:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function GetSocketOptions(Sock,Level,OptName:Longint; var OptVal; var optlen:longint):Longint;
Description: To be documented
Note | None documented |
---|
function SetSocketOptions(Sock,Level,OptName:Longint; const OptVal; optlen:longint):Longint;
Description: To be documented
Note | None documented |
---|
function SocketPair(Domain,SocketType,Protocol:Longint; var Pair:TSockArray):Longint;
Description: To be documented
Note | None documented |
---|
function CloseSocket(Sock:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function Inet_Addr(cp: PChar): Longint;
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 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 | None documented |
---|
function Inet_Ntop(family: Longint; Source: Pointer; Dest: PChar; Size: Longint): PChar;
Description: To be documented
Note | None documented |
---|
function GetHostByAddr(addr: Pointer; len, family: Longint): PHostEnt;
Description: To be documented
Note | None documented |
---|
function GetHostByName(name: PChar): PHostEnt;
Description: To be documented
Note | None documented |
---|
function GetHostName(name: PChar; len: Longint): Longint;
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 |
---|
function GetServByPort(port: Longint; 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: Longint): PProtoEnt;
Description: To be documented
Note | None documented |
---|
function GetProtoByName(name: PChar): PProtoEnt;
Description: To be documented
Note | None documented |
---|
function GetAddrInfo(HostName, ServName: PChar; Hints: PAddrInfo; var Addr: PAddrInfo): Longint;
Description: To be documented
Note | None documented |
---|
procedure FreeAddrInfo(ai: PAddrInfo);
Description: To be documented
Note | None documented |
---|
function GetNameInfo(sa: PSockAddr; salen: Longint; host: PChar; hostlen: DWORD; serv: PChar; servlen: DWORD; flags: Longint): Longint;
Description: To be documented
Note | None documented |
---|
RTL sockets functions
function fpsocket(domain:cint; xtype:cint; protocol: cint):cint;
Description: To be documented
Note | None documented |
---|
function fpsend(s:cint; msg:pointer; len:size_t; flags:cint):ssize_t;
Description: To be documented
Note | None documented |
---|
function fpsendto(s:cint; msg:pointer; len:size_t; flags:cint; tox :psockaddr; tolen: tsocklen):ssize_t;
Description: To be documented
Note | None documented |
---|
function fprecv(s:cint; buf: pointer; len: size_t; flags: cint):ssize_t;
Description: To be documented
Note | None documented |
---|
function fprecvfrom(s:cint; buf: pointer; len: size_t; flags: cint; from : psockaddr; fromlen : psocklen):ssize_t;
Description: To be documented
Note | None documented |
---|
function fpconnect(s:cint; name : psockaddr; namelen : tsocklen):cint;
Description: To be documented
Note | None documented |
---|
function fpshutdown(s:cint; how:cint):cint;
Description: To be documented
Note | None documented |
---|
function fpbind(s:cint; addrx : psockaddr; addrlen : tsocklen):cint;
Description: To be documented
Note | None documented |
---|
function fplisten(s:cint; backlog : cint):cint;
Description: To be documented
Note | None documented |
---|
function fpaccept(s:cint; addrx : psockaddr; addrlen : psocklen):cint;
Description: To be documented
Note | None documented |
---|
function fpgetsockname(s:cint; name : psockaddr; namelen : psocklen):cint;
Description: To be documented
Note | None documented |
---|
function fpgetpeername(s:cint; name : psockaddr; namelen : psocklen):cint;
Description: To be documented
Note | None documented |
---|
function fpgetsockopt(s:cint; level:cint; optname:cint; optval:pointer; optlen : psocklen):cint;
Description: To be documented
Note | None documented |
---|
function fpsetsockopt(s:cint; level:cint; optname:cint; optval:pointer; optlen :tsocklen):cint;
Description: To be documented
Note | None documented |
---|
function fpsocketpair(d:cint; xtype:cint; protocol:cint; sv:pcint):cint;
Description: To be documented
Note | None documented |
---|
RTL File/Text sockets functions
function fpRead(Handle:LongInt; var BufPtr; Size:DWORD):DWORD;
Description: To be documented
Note | None documented |
---|
function fpWrite(Handle:LongInt; var BufPtr; Size:DWORD):DWORD;
Description: To be documented
Note | None documented |
---|
procedure OpenSock(var F:Text);
Description: To be documented
Note | None documented |
---|
procedure IOSock(var F:Text);
Description: To be documented
Note | None documented |
---|
procedure FlushSock(var F:Text);
Description: To be documented
Note | None documented |
---|
procedure CloseSock(var F:text);
Description: To be documented
Note | None documented |
---|
procedure Sock2Text(Sock:Longint; Var SockIn,SockOut:Text);
Description: Set up two Pascal Text file descriptors for reading and writing
Note | None documented |
---|
function DoAccept(Sock:longint; var addr:TInetSockAddr):longint;
Description: To be documented
Note | None documented |
---|
function Accept(Sock:longint; var addr:TInetSockAddr; var SockIn,SockOut:File):Boolean;
Description: To be documented
Note | None documented |
---|
function Accept(Sock:longint; var addr:TInetSockAddr; var SockIn,SockOut:text):Boolean;
Description: To be documented
Note | None documented |
---|
function DoConnect(Sock:longint; const addr:TInetSockAddr):Boolean;
Description: To be documented
Note | None documented |
---|
function Connect(Sock:longint; const addr:TInetSockAddr; var SockIn,SockOut:text):Boolean;
Description: To be documented
Note | None documented |
---|
function Connect(Sock:longint; const addr:TInetSockAddr; var SockIn,SockOut:file):Boolean;
Description: To be documented
Note | None documented |
---|
procedure Sock2File(Sock:Longint; Var SockIn,SockOut:File);
Description: To be documented
Note | None documented |
---|
Sockets helper functions
procedure SocketsProcessConfig(Data:Pointer);
Description: To be documented
Note | None documented |
---|
procedure SocketsProcessFilter(Data:Pointer);
Description: To be documented
Note | None documented |
---|
procedure SocketsProcessProtocol(Data:Pointer);
Description: To be documented
Note | None documented |
---|
procedure SocketsProcessSocket(Data:Pointer);
Description: To be documented
Note | None documented |
---|
procedure SocketsProcessAuth(Data:Pointer);
Description: To be documented
Note | None documented |
---|
procedure SocketsProcessMonitor(Data:Pointer);
Description: To be documented
Note | None documented |
---|
procedure SocketsProcessTransport(Data:Pointer);
Description: To be documented
Note | None documented |
---|
procedure SocketsProcessAdapter(Data:Pointer);
Description: To be documented
Note | None documented |
---|
procedure SocketsNetworkDeviceAdd(Event:PSocketsDeviceEvent);
Description: To be documented
Note | None documented |
---|
function SocketsNetworkDeviceRemove(Network:PNetworkDevice):LongWord;
Description: To be documented
Note | None documented |
---|
function SocketsNetworkDeviceEnum(Network:PNetworkDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function SocketsNetworkDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
Description: To be documented
Note | None documented |
---|
RTL sockets helper functions
function htonl(host:cardinal):cardinal; inline;
Description: To be documented
Note | None documented |
---|
function ntohl(net:cardinal):cardinal; inline;
Description: To be documented
Note | None documented |
---|
function htons(host:word):word; inline;
Description: To be documented
Note | None documented |
---|
function ntohs(net:word):word; inline;
Description: To be documented
Note | None documented |
---|
function NetAddrToStr(Entry:in_addr):AnsiString;
Description: To be documented
Note | None documented |
---|
function HostAddrToStr(Entry:in_addr):AnsiString;
Description: To be documented
Note | None documented |
---|
function StrToHostAddr(IP:AnsiString):in_addr;
Description: To be documented
Note | None documented |
---|
function StrToNetAddr(IP:AnsiString):in_addr;
Description: To be documented
Note | None documented |
---|
function HostToNet(Host:in_addr):in_addr;
Description: To be documented
Note | None documented |
---|
function NetToHost(Net:in_addr):in_addr;
Description: To be documented
Note | None documented |
---|
function HostToNet(Host:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function NetToHost(Net:Longint):Longint;
Description: To be documented
Note | None documented |
---|
function ShortHostToNet(Host:Word):Word;
Description: To be documented
Note | None documented |
---|
function ShortNetToHost(Net:Word):Word;
Description: To be documented
Note | None documented |
---|
function LocalIntToHex(Value:Integer; Digits:LongInt):AnsiString;
Description: To be documented
Note | None documented |
---|
function HostAddrToStr6(Entry:Tin6_addr):AnsiString;
Description: To be documented
Note | None documented |
---|
function StrToHostAddr6(IP:String):Tin6_addr;
Description: To be documented
Note | None documented |
---|
function NetAddrToStr6(Entry:Tin6_addr):AnsiString;
Description: To be documented
Note | None documented |
---|
function StrToNetAddr6(IP:AnsiString):TIn6_Addr;
Description: To be documented
Note | None documented |
---|
Return to Unit Reference