Unit Sockets

From Ultibo.org
Revision as of 04:47, 2 September 2016 by Ultibo (Talk | contribs)

Jump to: navigation, search

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