Unit Transport

From Ultibo.org
Revision as of 05:14, 30 May 2018 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


Ultibo Network Transport interface unit

Notes:

Includes all global transport definitions plus base class for Network transports.

Currently supported transports are IP, ARP, RARP, IPX and IP6.

All HostToNetwork swaps occur at the level where they are appropriate (ie the level of their header).

Bindings is provided to support Transports (such as IP) which can provide multiple addresses on a single adapter. It is not used by the Protocol or Winsock layer and is only used by the transport where appropriate. In such cases the ConfigType in the Adapter object is not used and the Binding is used instead.

Constants



[Expand]
Transport specific constants *_TYPE_*


[Expand]
Host constants *_HOST_*


[Expand]
Route constants *_ROUTE_*


[Expand]
Address constants *_ADDRESS_*


[Expand]
Transport socket TTL_*


[Expand]
Shutdown constants SHUTDOWN_*


[Expand]
Select constants SELECT_*


[Expand]
Socket state SS_*


[Expand]
IPv4 transport IP_*


[Expand]
IPv6 transport IP6_*


Type definitions



Transport statistics

[Expand]

PTransportStatistics = ^TTransportStatistics;

TTransportStatistics = record

IPv4 nameservers

[Expand]

PIPNameservers = ^TIPNameservers;

TIPNameservers = array[0..MAX_NAME_SERVERS - 1] of TInAddr;

IPv6 nameservers

[Expand]

PIP6Nameservers = ^TIP6Nameservers;

TIP6Nameservers = array[0..MAX_NAME_SERVERS - 1] of TIn6Addr;

Transport callback

TTransportCallback = function(ATransport:TNetworkTransport):Boolean of object;

Monitor callback

TMonitorCallback = function(AMonitor:TNetworkMonitor):Boolean of object;

Authenticator callback

TAuthenticatorCallback = function(AAuthenticator:TNetworkAuthenticator):Boolean of object;

Transport packet handler

TTransportPacketHandler = function(AHandle:THandle; ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean of object;

Transport control handler

TTransportControlHandler = function(AHandle:THandle; ASource,ADest:Pointer; AProtocol,ACommand,ACode:Word; AAddress,AData:Pointer; ASize:Integer):Boolean of object;

Transport filter handler

TTransportFilterHandler = function(AHandle:THandle; ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean of object;

Transport configuration handler

TTransportConfigHandler = function(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean of object;


Class definitions



Transport manager

[Expand]

TTransportManager = class(TObject)

Transport buffer

[Expand]

TTransportBuffer = class(TObject)

Transport buffer extended

[Expand]

TTransportBufferEx = class(TObject)

Transport adapter

[Expand]

TTransportAdapter = class(TListObject)

Transport binding

[Expand]

TTransportBinding = class(TListObject)

Transport protocol

[Expand]

TTransportProtocol = class(TListObject)

Transport filter

[Expand]

TTransportFilter = class(TListObject)

Transport configuration

[Expand]

TTransportConfig = class(TListObject)

Network transport

[Expand]

TNetworkTransport = class(TListObject)