Return to Unit Reference
Description
Ultibo Network Sockets Interface unit
This unit incorporates the socketsh.inc header from rtl-extra and adds Ultibo specific functionality. The unit can then be used in place of the sockets unit normally provided by the rtl-extra package.
Notes: All BSD functions that accept an Address or Port expect them to be in Network order. All other functions that take an Address or Port expect them to be in Host order
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_*
SOCKETS_DEVICE_TIMER_INTERVAL = 100;
|
Timer interval for new device additions
|
|
SOCKETS_CONFIG_TIMER_INTERVAL = 1000;
|
|
SOCKETS_FILTER_TIMER_INTERVAL = 1000;
|
|
SOCKETS_PROTOCOL_TIMER_INTERVAL = 250;
|
Previously 100
|
SOCKETS_SOCKET_TIMER_INTERVAL = 1000;
|
|
SOCKETS_AUTH_TIMER_INTERVAL = 1000;
|
|
SOCKETS_MONITOR_TIMER_INTERVAL = 1000;
|
|
SOCKETS_TRANSPORT_TIMER_INTERVAL = 1000;
|
|
SOCKETS_ADAPTER_TIMER_INTERVAL = 1000;
|
|
|
INADDR_ANY = GlobalSock.INADDR_ANY;
|
|
INADDR_NONE = GlobalSock.INADDR_NONE;
|
|
|
Level number for (get/set)sockopt() to apply to socket itself
|
SOL_SOCKET = GlobalSock.SOL_SOCKET;
|
|
|
Maximum queue length specifiable by listen
|
SOMAXCONN = GlobalSock.SOMAXCONN;
|
|
|
This is used instead of -1, since the TSocket type is unsigned
|
INVALID_SOCKET = GlobalSock.INVALID_SOCKET;
|
|
SOCKET_ERROR = GlobalSock.SOCKET_ERROR;
|
|
|
INET_ADDRSTR_ANY = GlobalSock.INET_ADDRSTR_ANY;
|
|
INET6_ADDRSTR_INIT = GlobalSock.INET6_ADDRSTR_INIT;
|
|
|
INET_ADDRSTR_BROADCAST = GlobalSock.INET_ADDRSTR_BROADCAST;
|
|
|
INET_ADDRSTRLEN = GlobalSock.INET_ADDRSTRLEN;
|
|
INET6_ADDRSTRLEN = GlobalSock.INET6_ADDRSTRLEN;
|
|
|
IN6ADDR_ANY_INIT:TIn6Addr = (u6_addr16: (0, 0, 0, 0, 0, 0, 0, 0));
|
|
IN6ADDR_LOOPBACK_INIT:TIn6Addr = (u6_addr8: (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1));
|
|
|
NoAddress: in_addr = (s_addr:0);
|
|
NoNet: in_addr = (s_addr:0);
|
|
NoAddress6: in6_addr = (u6_addr16:(0,0,0,0,0,0,0,0));
|
|
NoNet6: in6_addr = (u6_addr16:(0,0,0,0,0,0,0,0));
|
|
|
FD_MAXFDSET = GlobalSock.FD_SETSIZE;
|
|
[Expand]
Socket error Esock*, EAI_*
EsockEINTR = WSAEINTR;
|
|
EsockEBADF = WSAEBADF;
|
|
EsockEFAULT = WSAEFAULT;
|
|
EsockEINVAL = WSAEINVAL;
|
|
EsockEACCESS = WSAEACCES;
|
|
EsockEMFILE = WSAEMFILE;
|
|
EsockEMSGSIZE = WSAEMSGSIZE;
|
|
EsockENOBUFS = WSAENOBUFS;
|
|
EsockENOTCONN = WSAENOTCONN;
|
|
EsockENOTSOCK = WSAENOTSOCK;
|
|
EsockEPROTONOSUPPORT = WSAEPROTONOSUPPORT;
|
|
EsockEWOULDBLOCK = WSAEWOULDBLOCK;
|
|
EsockADDRINUSE = WSAEADDRINUSE;
|
|
|
Error codes from getaddrinfo()
|
EAI_AGAIN = GlobalSock.EAI_AGAIN;
|
|
EAI_BADFLAGS = GlobalSock.EAI_BADFLAGS;
|
|
EAI_FAIL = GlobalSock.EAI_FAIL;
|
|
EAI_FAMILY = GlobalSock.EAI_FAMILY;
|
|
EAI_MEMORY = GlobalSock.EAI_MEMORY;
|
|
EAI_NODATA = GlobalSock.EAI_NODATA;
|
|
EAI_NONAME = GlobalSock.EAI_NONAME;
|
|
EAI_SERVICE = GlobalSock.EAI_SERVICE;
|
|
EAI_SOCKTYPE = GlobalSock.EAI_SOCKTYPE;
|
|
|
EAI_NODATA = GlobalSock.EAI_NODATA;
|
|
[Expand]
Socket shutdown option SHUT_*
SHUT_RD = SD_RECEIVE;
|
Aliases so we are cross-platform
|
SHUT_WR = SD_SEND;
|
|
SHUT_RDWR = SD_BOTH;
|
|
[Expand]
Socket type SOCK_*
SOCK_STREAM = GlobalSock.SOCK_STREAM;
|
|
SOCK_DGRAM = GlobalSock.SOCK_DGRAM;
|
|
SOCK_RAW = GlobalSock.SOCK_RAW;
|
|
SOCK_RDM = GlobalSock.SOCK_RDM;
|
|
SOCK_SEQPACKET = GlobalSock.SOCK_SEQPACKET;
|
|
[Expand]
Socket input and output S_IN*
Two constants to determine whether part of socket is for in or output
|
S_IN = 0;
|
|
S_OUT = 1;
|
|
[Expand]
Address family AF_*
AF_UNSPEC = GlobalSock.AF_UNSPEC;
|
|
AF_UNIX = GlobalSock.AF_UNIX;
|
|
AF_INET = GlobalSock.AF_INET;
|
|
AF_IMPLINK = GlobalSock.AF_IMPLINK;
|
|
AF_PUP = GlobalSock.AF_PUP;
|
|
AF_CHAOS = GlobalSock.AF_CHAOS;
|
|
AF_IPX = GlobalSock.AF_IPX;
|
|
AF_NS = GlobalSock.AF_NS;
|
|
AF_ISO = GlobalSock.AF_ISO;
|
|
AF_OSI = GlobalSock.AF_OSI;
|
|
AF_ECMA = GlobalSock.AF_ECMA;
|
|
AF_DATAKIT = GlobalSock.AF_DATAKIT;
|
|
AF_CCITT = GlobalSock.AF_CCITT;
|
|
AF_SNA = GlobalSock.AF_SNA;
|
|
AF_DECnet = GlobalSock.AF_DECnet;
|
|
AF_DLI = GlobalSock.AF_DLI;
|
|
AF_LAT = GlobalSock.AF_LAT;
|
|
AF_HYLINK = GlobalSock.AF_HYLINK;
|
|
AF_APPLETALK = GlobalSock.AF_APPLETALK;
|
|
AF_NETBIOS = GlobalSock.AF_NETBIOS;
|
|
AF_VOICEVIEW = GlobalSock.AF_VOICEVIEW;
|
|
AF_FIREFOX = GlobalSock.AF_FIREFOX;
|
|
AF_UNKNOWN1 = GlobalSock.AF_UNKNOWN1;
|
|
AF_BAN = GlobalSock.AF_BAN;
|
|
AF_ATM = GlobalSock.AF_ATM;
|
|
AF_INET6 = GlobalSock.AF_INET6;
|
|
AF_CLUSTER = GlobalSock.AF_CLUSTER;
|
|
AF_12844 = GlobalSock.AF_12844;
|
|
AF_IRDA = GlobalSock.AF_IRDA;
|
|
AF_NETDES = GlobalSock.AF_NETDES;
|
|
|
AF_MAX = GlobalSock.AF_MAX;
|
|
[Expand]
Protocol family PF_*
PF_UNSPEC = GlobalSock.PF_UNSPEC;
|
|
PF_UNIX = GlobalSock.PF_UNIX;
|
|
PF_INET = GlobalSock.PF_INET;
|
|
PF_IMPLINK = GlobalSock.PF_IMPLINK;
|
|
PF_PUP = GlobalSock.PF_PUP;
|
|
PF_CHAOS = GlobalSock.PF_CHAOS;
|
|
PF_NS = GlobalSock.PF_NS;
|
|
PF_IPX = GlobalSock.PF_IPX;
|
|
PF_ISO = GlobalSock.PF_ISO;
|
|
PF_OSI = GlobalSock.PF_OSI;
|
|
PF_ECMA = GlobalSock.PF_ECMA;
|
|
PF_DATAKIT = GlobalSock.PF_DATAKIT;
|
|
PF_CCITT = GlobalSock.PF_CCITT;
|
|
PF_SNA = GlobalSock.PF_SNA;
|
|
PF_DECnet = GlobalSock.PF_DECnet;
|
|
PF_DLI = GlobalSock.PF_DLI;
|
|
PF_LAT = GlobalSock.PF_LAT;
|
|
PF_HYLINK = GlobalSock.PF_HYLINK;
|
|
PF_APPLETALK = GlobalSock.PF_APPLETALK;
|
|
PF_VOICEVIEW = GlobalSock.PF_VOICEVIEW;
|
|
PF_FIREFOX = GlobalSock.PF_FIREFOX;
|
|
PF_UNKNOWN1 = GlobalSock.PF_UNKNOWN1;
|
|
PF_BAN = GlobalSock.PF_BAN;
|
|
PF_ATM = GlobalSock.PF_ATM;
|
|
PF_INET6 = GlobalSock.PF_INET6;
|
|
PF_CLUSTER = GlobalSock.PF_CLUSTER;
|
|
PF_12844 = GlobalSock.PF_12844;
|
|
PF_IRDA = GlobalSock.PF_IRDA;
|
|
PF_NETDES = GlobalSock.PF_NETDES;
|
|
|
PF_MAX = GlobalSock.PF_MAX;
|
|
[Expand]
IP protocol IPPROTO_*
IPPROTO_IP = GlobalSock.IPPROTO_IP;
|
|
IPPROTO_ICMP = GlobalSock.IPPROTO_ICMP;
|
|
IPPROTO_IGMP = GlobalSock.IPPROTO_IGMP;
|
|
IPPROTO_GGP = GlobalSock.IPPROTO_GGP;
|
|
IPPROTO_TCP = GlobalSock.IPPROTO_TCP;
|
|
IPPROTO_EGP = GlobalSock.IPPROTO_EGP;
|
|
IPPROTO_PUP = GlobalSock.IPPROTO_PUP;
|
|
IPPROTO_UDP GlobalSock.IPPROTO_UDP;
|
|
IPPROTO_HMP = GlobalSock.IPPROTO_HMP;
|
|
IPPROTO_IDP = GlobalSock.IPPROTO_IDP;
|
|
IPPROTO_RDP = GlobalSock.IPPROTO_RDP;
|
|
IPPROTO_IPV6 = GlobalSock.IPPROTO_IPV6;
|
|
IPPROTO_ROUTING = GlobalSock.IPPROTO_ROUTING;
|
|
IPPROTO_FRAGMENT = GlobalSock.IPPROTO_FRAGMENT;
|
|
IPPROTO_ICMPV6 = GlobalSock.IPPROTO_ICMPV6;
|
|
IPPROTO_RVD = GlobalSock.IPPROTO_RVD;
|
|
IPPROTO_ND = GlobalSock.IPPROTO_ND;
|
|
IPPROTO_RAW = GlobalSock.IPPROTO_RAW;
|
|
IPPROTO_MAX = GlobalSock.IPPROTO_MAX;
|
|
[Expand]
IP port IPPORT_*
Port/socket numbers: network standard functions
|
IPPORT_ANY = GlobalSock.IPPORT_ANY;
|
|
IPPORT_ECHO = GlobalSock.IPPORT_ECHO;
|
|
IPPORT_DISCARD = GlobalSock.IPPORT_DISCARD;
|
|
IPPORT_SYSTAT = GlobalSock.IPPORT_SYSTAT;
|
|
IPPORT_DAYTIME = GlobalSock.IPPORT_DAYTIME;
|
|
IPPORT_NETSTAT = GlobalSock.IPPORT_NETSTAT;
|
|
IPPORT_FTP = GlobalSock.IPPORT_FTP;
|
|
IPPORT_TELNET = GlobalSock.IPPORT_TELNET;
|
|
IPPORT_SMTP = GlobalSock.IPPORT_SMTP;
|
|
IPPORT_TIMESERVER = GlobalSock.IPPORT_TIMESERVER;
|
|
IPPORT_NAMESERVER = GlobalSock.IPPORT_NAMESERVER;
|
|
IPPORT_WHOIS = GlobalSock.IPPORT_WHOIS;
|
|
IPPORT_DNS = GlobalSock.IPPORT_DNS;
|
|
IPPORT_MTP= GlobalSock.IPPORT_MTP;
|
|
IPPORT_BOOTPS = GlobalSock.IPPORT_BOOTPS;
|
|
IPPORT_BOOTPC = GlobalSock.IPPORT_BOOTPC;
|
|
|
Port/socket numbers: host specific functions
|
IPPORT_TFTP = GlobalSock.IPPORT_TFTP;
|
|
IPPORT_RJE = GlobalSock.IPPORT_RJE;
|
|
IPPORT_FINGER = GlobalSock.IPPORT_FINGER;
|
|
IPPORT_TTYLINK = GlobalSock.IPPORT_TTYLINK;
|
|
IPPORT_SUPDUP = GlobalSock.IPPORT_SUPDUP;
|
|
|
UNIX TCP sockets
|
IPPORT_EXECSERVER = GlobalSock.IPPORT_EXECSERVER;
|
|
IPPORT_LOGINSERVER = GlobalSock.IPPORT_LOGINSERVER;
|
|
IPPORT_CMDSERVER = GlobalSock.IPPORT_CMDSERVER;
|
|
IPPORT_EFSSERVER = GlobalSock.IPPORT_EFSSERVER;
|
|
|
UNIX UDP sockets
|
IPPORT_BIFFUDP = GlobalSock.IPPORT_BIFFUDP;
|
|
IPPORT_WHOSERVER = GlobalSock.IPPORT_WHOSERVER;
|
|
IPPORT_ROUTESERVER = GlobalSock.IPPORT_ROUTESERVER;
|
|
|
Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root)
|
IPPORT_RESERVED = GlobalSock.IPPORT_RESERVED;
|
|
[Expand]
IP option IP_*
Options for use with [gs]etsockopt at the IP level
|
|
IP_OPTIONS = GlobalSock.IP_OPTIONS;
|
|
IP_MULTICAST_IF = GlobalSock.IP_MULTICAST_IF;
|
|
IP_MULTICAST_TTL = GlobalSock.IP_MULTICAST_TTL;
|
|
IP_MULTICAST_LOOP = GlobalSock.IP_MULTICAST_LOOP;
|
|
IP_ADD_MEMBERSHIP = GlobalSock.IP_ADD_MEMBERSHIP;
|
|
IP_DROP_MEMBERSHIP = GlobalSock.IP_DROP_MEMBERSHIP;
|
|
IP_TTL = GlobalSock.IP_TTL;
|
|
IP_TOS = GlobalSock.IP_TOS;
|
|
IP_DONTFRAGMENT = GlobalSock.IP_DONTFRAGMENT;
|
|
IP_HDRINCL = GlobalSock.IP_HDRINCL;
|
|
[Expand]
Socket option SO_*
Option flags per-socket
|
|
SO_DEBUG = GlobalSock.SO_DEBUG;
|
|
SO_ACCEPTCONN = GlobalSock.SO_ACCEPTCONN;
|
|
SO_REUSEADDR = GlobalSock.SO_REUSEADDR;
|
|
SO_KEEPALIVE = GlobalSock.SO_KEEPALIVE;
|
|
SO_DONTROUTE = GlobalSock.SO_DONTROUTE;
|
|
SO_BROADCAST = GlobalSock.SO_BROADCAST;
|
|
SO_USELOOPBACK = GlobalSock.SO_USELOOPBACK;
|
|
SO_LINGER = GlobalSock.SO_LINGER;
|
|
SO_OOBINLINE = GlobalSock.SO_OOBINLINE;
|
|
SO_REUSEPORT = GlobalSock.SO_REUSEPORT;
|
|
SO_TIMESTAMP = GlobalSock.SO_TIMESTAMP;
|
|
SO_ACCEPTFILTER = GlobalSock.SO_ACCEPTFILTER;
|
|
|
SO_DONTLINGER = GlobalSock.SO_DONTLINGER;
|
|
SO_EXCLUSIVEADDRUSE = GlobalSock.SO_EXCLUSIVEADDRUSE;
|
|
|
Additional options
|
SO_SNDBUF = GlobalSock.SO_SNDBUF;
|
|
SO_RCVBUF = GlobalSock.SO_RCVBUF;
|
|
SO_SNDLOWAT = GlobalSock.SO_SNDLOWAT;
|
|
SO_RCVLOWAT = GlobalSock.SO_RCVLOWAT;
|
|
SO_SNDTIMEO = GlobalSock.SO_SNDTIMEO;
|
|
SO_RCVTIMEO = GlobalSock.SO_RCVTIMEO;
|
|
SO_ERROR = GlobalSock.SO_ERROR;
|
|
SO_TYPE = GlobalSock.SO_TYPE;
|
|
SO_CONNTIMEO = GlobalSock.SO_CONNTIMEO;
|
|
|
Options for connect and disconnect data and options. Used only by non-TCP/IP transports such as DECNet, OSI TP4, etc.
|
SO_CONNDATA = GlobalSock.SO_CONNDATA;
|
|
SO_CONNOPT = GlobalSock.SO_CONNOPT;
|
|
SO_DISCDATA = GlobalSock.SO_DISCDATA;
|
|
SO_DISCOPT = GlobalSock.SO_DISCOPT;
|
|
SO_CONNDATALEN = GlobalSock.SO_CONNDATALEN;
|
|
SO_CONNOPTLEN = GlobalSock.SO_CONNOPTLEN;
|
|
SO_DISCDATALEN = GlobalSock.SO_DISCDATALEN;
|
|
SO_DISCOPTLEN = GlobalSock.SO_DISCOPTLEN;
|
|
|
Options for opening sockets for synchronous access
|
SO_OPENTYPE = GlobalSock.SO_OPENTYPE;
|
|
SO_SYNCHRONOUS_ALERT = GlobalSock.SO_SYNCHRONOUS_ALERT;
|
|
SO_SYNCHRONOUS_NONALERT = GlobalSock.SO_SYNCHRONOUS_NONALERT;
|
|
|
Other NT-specific options
|
SO_MAXDG = GlobalSock.SO_MAXDG;
|
|
SO_MAXPATHDG = GlobalSock.SO_MAXPATHDG;
|
|
SO_UPDATE_ACCEPT_CONTEXT = GlobalSock.SO_UPDATE_ACCEPT_CONTEXT;
|
|
SO_CONNECT_TIME = GlobalSock.SO_CONNECT_TIME;
|
|
[Expand]
TCP option TCP_*
TCP_NODELAY = GlobalSock.TCP_NODELAY;
|
|
TCP_MAXSEG = GlobalSock.TCP_MAXSEG;
|
|
TCP_NOPUSH = GlobalSock.TCP_NOPUSH;
|
|
TCP_NOOPT = GlobalSock.TCP_NOOPT;
|
|
TCP_BSDURGENT = GlobalSock.TCP_BSDURGENT;
|
|
|
TCP_WSCALE = GlobalSock.TCP_WSCALE;
|
|
TCP_NOSACK = GlobalSock.TCP_NOSACK;
|
|
[Expand]
UDP option UDP_*
UDP_NOCHECKSUM = GlobalSock.UDP_NOCHECKSUM;
|
|
[Expand]
Message flag MSG_*
MSG_OOB = GlobalSock.MSG_OOB;
|
|
MSG_PEEK = GlobalSock.MSG_PEEK;
|
|
MSG_DONTROUTE = GlobalSock.MSG_DONTROUTE;
|
|
|
MSG_INTERRUPT = GlobalSock.MSG_INTERRUPT;
|
|
|
MSG_PARTIAL = GlobalSock.MSG_PARTIAL;
|
|
[Expand]
Address info flag AI_*
Flags used in "hints" argument to getaddrinfo()
|
Note: Under Linux these values may be different
|
|
AI_PASSIVE = GlobalSock.AI_PASSIVE;
|
|
AI_CANONNAME = GlobalSock.AI_CANONNAME;
|
|
AI_NUMERICHOST = GlobalSock.AI_NUMERICHOST;
|
|
AI_NUMERICSERV = GlobalSock.AI_NUMERICSERV;
|
|
AI_ALL = GlobalSock.AI_ALL;
|
|
AI_ADDRCONFIG = GlobalSock.AI_ADDRCONFIG;
|
|
AI_V4MAPPED = GlobalSock.AI_V4MAPPED;
|
|
AI_NON_AUTHORITATIVE = GlobalSock.AI_NON_AUTHORITATIVE;
|
|
AI_SECURE = GlobalSock.AI_SECURE;
|
|
AI_RETURN_PREFERRED_NAMES = GlobalSock.AI_RETURN_PREFERRED_NAMES;
|
|
AI_FQDN = GlobalSock.AI_FQDN;
|
|
AI_FILESERVER = GlobalSock.AI_FILESERVER;
|
|
[Expand]
Name info flag NI_*
Flags for getnameinfo()
|
|
NI_NOFQDN = GlobalSock.NI_NOFQDN;
|
|
NI_NUMERICHOST = GlobalSock.NI_NUMERICHOST;
|
|
NI_NAMEREQD = GlobalSock.NI_NAMEREQD;
|
|
NI_NUMERICSERV = GlobalSock.NI_NUMERICSERV;
|
|
NI_DGRAM = GlobalSock.NI_DGRAM;
|
|
|
NI_MAXHOST = GlobalSock.NI_MAXHOST;
|
|
NI_MAXSERV = GlobalSock.NI_MAXSERV;
|
|
Type definitions
Sockets device event
[Expand]
PSocketsDeviceEvent = ^TSocketsDeviceEvent;
TSocketsDeviceEvent = record
Timer:TTimerHandle;
|
|
Device:PNetworkDevice;
|
|
Numeric types
Integer types
size_t = GlobalTypes.SIZE_T;
|
cuint32;
|
ssize_t = GlobalTypes.SSIZE_T;
|
cint32;
|
Socket length
tsocklen = cint;
|
|
psocklen = ^tsocklen;
|
|
IPv4 address
pin_addr = ^in_addr;
|
|
in_addr = GlobalSock.in_addr;
|
|
TIn_addr = in_addr;
|
|
TInAddr = GlobalSock.TInAddr;
|
|
PInAddr = GlobalSock.PInAddr;
|
|
Internet socket address
TInetSockAddr = sockaddr_in;
|
|
PInetSockAddr = psockaddr_in;
|
|
Socket address
psockaddr = GlobalSock.psockaddr;
|
|
sockaddr = GlobalSock.TSockAddr;
|
|
TSockAddr = GlobalSock.TSockAddr;
|
|
psockaddr_in = ^sockaddr_in;
|
|
sockaddr_in = GlobalSock.sockaddr_in;
|
|
FD set type
TFDSet = GlobalSock.TFDSet;
|
|
PFDSet = GlobalSock.PFDSet;
|
Legacy
|
Time value
PTimeVal = GlobalSock.PTimeVal;
|
|
TTimeVal = GlobalSock.TTimeVal;
|
|
Linger
plinger = GlobalSock.plinger;
|
|
linger = GlobalSock.linger;
|
|
TLinger = GlobalSock.TLinger;
|
|
IPv6 address
pin6_addr = ^in6_addr;
|
|
in6_addr = GlobalSock.in6_addr;
|
|
Tin6_addr = in6_addr;
|
|
TIn6Addr = GlobalSock.TIn6Addr;
|
|
PIn6Addr = GlobalSock.PIn6Addr;
|
|
Socket address IPv6
psockaddr_in6 = ^sockaddr_in6;
|
|
sockaddr_in6 = GlobalSock.sockaddr_in6;
|
|
TInetSockAddr6 = sockaddr_in6;
|
|
PInetSockAddr6 = psockaddr_in6;
|
|
Socket pair
TSockPairArray = array[0..1] of clong;
|
|
TSockArray = array[1..2] of clong;
|
Legacy
|
Socket address
[Expand]
psockaddr_un = ^sockaddr_un;
sockaddr_un = packed record
sun_family:sa_family_t;
|
|
sun_path:array[0..107] of char;
|
|
Address information
PAddrInfo = GlobalSock.PAddrInfo;
|
|
TAddrInfo = GlobalSock.TAddrInfo;
|
|
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):clong;
Description: To be documented
[Expand]
function Send(Sock:clong; const Buf; BufLen,Flags:Longint):Longint;
Description: To be documented
[Expand]
function SendTo(Sock:clong; const Buf; BufLen,Flags:Longint; var Addr; AddrLen : Longint):Longint;
Description: To be documented
[Expand]
function Recv(Sock:clong; var Buf; BufLen,Flags:Longint):Longint;
Description: To be documented
[Expand]
function RecvFrom(Sock : clong; var Buf; Buflen,Flags : Longint; var Addr; var AddrLen : longint) : longint;
Description: To be documented
[Expand]
function Connect(Sock:clong; const Addr; Addrlen:Longint):Boolean; overload;
Description: To be documented
[Expand]
function Shutdown(Sock:clong; How:Longint):Longint;
Description: To be documented
[Expand]
function Bind(Sock:clong; const Addr; AddrLen:Longint):Boolean;
Description: To be documented
[Expand]
function Listen(Sock:clong; MaxConnect:Longint):Boolean;
Description: To be documented
[Expand]
function Accept(Sock:clong; var Addr; var Addrlen:Longint):clong; overload;
Description: To be documented
[Expand]
function GetSocketName(Sock:clong; var Addr; var Addrlen:Longint):Longint;
Description: To be documented
[Expand]
function GetPeerName(Sock:clong; var Addr; var Addrlen:Longint):Longint;
Description: To be documented
[Expand]
function GetSocketOptions(Sock:clong; Level,OptName:Longint; var OptVal; var optlen:longint):Longint;
Description: To be documented
[Expand]
function SetSocketOptions(Sock:clong; 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:clong):Longint;
Description: To be documented
[Expand]
function Inet_Addr(cp: PChar): Longint;
Description: To be documented
Note
|
Address will be returned in network order
|
[Expand]
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.
|
Note
|
Address will be in network order
|
[Expand]
function Inet_Aton(cp: PChar; inaddr: PInAddr): Longint;
Description: To be documented
[Expand]
function Inet_Pton(family: Longint; Source: PChar; Dest: Pointer): Longint;
Description: To be documented
Note
|
Address will be returned in network order
|
[Expand]
function Inet_Ntop(family: Longint; Source: Pointer; Dest: PChar; Size: Longint): PChar;
Description: To be documented
Note
|
Source will be in network order where applicable
|
[Expand]
function GetHostByAddr(addr: Pointer; len, family: Longint): PHostEnt;
Description: To be documented
Note
|
Address will be in network order where applicable
|
[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
Note
|
Address will be in network order where applicable
|
[Expand]
function GetNetByName(name: PChar): PNetEnt;
Description: To be documented
[Expand]
function GetServByPort(port: Longint; proto: PChar): PServEnt;
Description: To be documented
Note
|
Port will be in network order
|
[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: RFC 3493 protocol-independent translation from a host name to an address
[Expand]
procedure FreeAddrInfo(ai: PAddrInfo);
Description: Free address information that GetAddrInfo dynamically allocates in TAddrInfo structures
[Expand]
function GetNameInfo(sa: PSockAddr; salen: Longint; host: PChar; hostlen: DWORD; serv: PChar; servlen: DWORD; flags: Longint): Longint;
Description: RFC 3493 protocol-independent name resolution from an address to a host name and a port number to a service name
[Expand]
function Gai_StrError(ecode: Longint): PChar;
Description: Return an error message for an error code returned by GetAddrInfo or GetNameInfo
RTL sockets functions
[Expand]
function fpsocket(domain:cint; xtype:cint; protocol: cint):clong;
Description: To be documented
[Expand]
function fpsend(s:clong; msg:pointer; len:size_t; flags:cint):ssize_t;
Description: To be documented
[Expand]
function fpsendto(s:clong; msg:pointer; len:size_t; flags:cint; tox :psockaddr; tolen: tsocklen):ssize_t;
Description: To be documented
[Expand]
function fprecv(s:clong; buf: pointer; len: size_t; flags: cint):ssize_t;
Description: To be documented
[Expand]
function fprecvfrom(s:clong; buf: pointer; len: size_t; flags: cint; from : psockaddr; fromlen : psocklen):ssize_t;
Description: To be documented
[Expand]
function fpconnect(s:clong; name : psockaddr; namelen : tsocklen):cint;
Description: To be documented
[Expand]
function fpshutdown(s:clong; how:cint):cint;
Description: To be documented
[Expand]
function fpbind(s:clong; addrx : psockaddr; addrlen : tsocklen):cint;
Description: To be documented
[Expand]
function fplisten(s:clong; backlog : cint):cint;
Description: To be documented
[Expand]
function fpaccept(s:clong; addrx : psockaddr; addrlen : psocklen):clong;
Description: To be documented
[Expand]
function fpgetsockname(s:clong; name : psockaddr; namelen : psocklen):cint;
Description: To be documented
[Expand]
function fpgetpeername(s:clong; name : psockaddr; namelen : psocklen):cint;
Description: To be documented
[Expand]
function fpgetsockopt(s:clong; level:cint; optname:cint; optval:pointer; optlen : psocklen):cint;
Description: To be documented
[Expand]
function fpsetsockopt(s:clong; level:cint; optname:cint; optval:pointer; optlen :tsocklen):cint;
Description: To be documented
[Expand]
function fpsocketpair(d:cint; xtype:cint; protocol:cint; sv:pclong):cint;
Description: To be documented
RTL select functions
[Expand]
function fpselect(n:cint; readfds, writefds, exceptfds: PFDSet; TimeOut: PTimeVal):cint;
Description: To be documented
Note
|
All sockets contained by the FDSet must be of the same type
|
[Expand]
function fpFD_SET(fdno:clong; var nset: TFDSet):cint;
Description: To be documented
[Expand]
function fpFD_CLR(fdno:clong; var nset: TFDSet):cint;
Description: To be documented
[Expand]
function fpFD_ZERO(out nset: TFDSet):cint;
Description: To be documented
[Expand]
function fpFD_ISSET(fdno:clong; const nset: TFDSet): 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:clong; Var SockIn,SockOut:Text); deprecated;
Description: Set up two Pascal Text file descriptors for reading and writing
[Expand]
function Accept(Sock:clong; var addr:TInetSockAddr; var SockIn,SockOut:File):Boolean; deprecated; overload;
Description: To be documented
[Expand]
function Accept(Sock:clong; var addr:TInetSockAddr; var SockIn,SockOut:text):Boolean; deprecated; overload;
Description: To be documented
[Expand]
function Connect(Sock:clong; const addr:TInetSockAddr; var SockIn,SockOut:text):Boolean; deprecated; overload;
Description: To be documented
[Expand]
function Connect(Sock:clong; const addr:TInetSockAddr; var SockIn,SockOut:file):Boolean; deprecated; overload;
Description: To be documented
[Expand]
procedure Sock2File(Sock:clong; Var SockIn,SockOut:File); deprecated;
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 SocketsNetworkDeviceUp(Network:PNetworkDevice):LongWord;
Description: To be documented
[Expand]
function SocketsNetworkDeviceDown(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 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