Unit Sockets
From Ultibo.org
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 |
|---|
RTL sockets helper functions
function htonl(host:cardinal):cardinal; inline;
Description: To be documented
| Note | To be documented |
|---|
function ntohl(net:cardinal):cardinal; inline;
Description: To be documented
| Note | To be documented |
|---|
function htons(host:word):word; inline;
Description: To be documented
| Note | To be documented |
|---|
function ntohs(net:word):word; inline;
Description: To be documented
| Note | To be documented |
|---|
function NetAddrToStr(Entry:in_addr):AnsiString;
Description: To be documented
| Note | To be documented |
|---|
function HostAddrToStr(Entry:in_addr):AnsiString;
Description: To be documented
| Note | To be documented |
|---|
function StrToHostAddr(IP:AnsiString):in_addr;
Description: To be documented
| Note | To be documented |
|---|
function StrToNetAddr(IP:AnsiString):in_addr;
Description: To be documented
| Note | To be documented |
|---|
function HostToNet(Host:in_addr):in_addr;
Description: To be documented
| Note | To be documented |
|---|
function NetToHost(Net:in_addr):in_addr;
Description: To be documented
| Note | To be documented |
|---|
function HostToNet(Host:Longint):Longint;
Description: To be documented
| Note | To be documented |
|---|
function NetToHost(Net:Longint):Longint;
Description: To be documented
| Note | To be documented |
|---|
function ShortHostToNet(Host:Word):Word;
Description: To be documented
| Note | To be documented |
|---|
function ShortNetToHost(Net:Word):Word;
Description: To be documented
| Note | To be documented |
|---|
function LocalIntToHex(Value:Integer; Digits:LongInt):AnsiString;
Description: To be documented
| Note | To be documented |
|---|
function HostAddrToStr6(Entry:Tin6_addr):AnsiString;
Description: To be documented
| Note | To be documented |
|---|
function StrToHostAddr6(IP:String):Tin6_addr;
Description: To be documented
| Note | To be documented |
|---|
function NetAddrToStr6(Entry:Tin6_addr):AnsiString;
Description: To be documented
| Note | To be documented |
|---|
function StrToNetAddr6(IP:AnsiString):TIn6_Addr;
Description: To be documented
| Note | To be documented |
|---|
Return to Unit Reference