Difference between revisions of "TIP6Transport"

From Ultibo.org
Jump to: navigation, search
(Created page with "Return to Unit IPv6 __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible mw-collapse...")
 
 
Line 230: Line 230:
 
|-
 
|-
 
| <code>function GetHostByNext(APrevious:TIP6HostEntry; ALock,AUnlock:Boolean):TIP6HostEntry;</code>
 
| <code>function GetHostByNext(APrevious:TIP6HostEntry; ALock,AUnlock:Boolean):TIP6HostEntry;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function CheckHost(AHost:TIP6HostEntry; ALock:Boolean):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 250: Line 253:
 
|-
 
|-
 
| <code>function GetRouteByNext(APrevious:TIP6RouteEntry; ALock,AUnlock:Boolean; AState:LongWord):TIP6RouteEntry;</code>
 
| <code>function GetRouteByNext(APrevious:TIP6RouteEntry; ALock,AUnlock:Boolean; AState:LongWord):TIP6RouteEntry;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function CheckRoute(ARoute:TIP6RouteEntry; ALock:Boolean; AState:LongWord):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 267: Line 273:
 
|-
 
|-
 
| <code>function GetAddressByNext(APrevious:TIP6AddressEntry; ALock,AUnlock:Boolean; AState:LongWord):TIP6AddressEntry;</code>
 
| <code>function GetAddressByNext(APrevious:TIP6AddressEntry; ALock,AUnlock:Boolean; AState:LongWord):TIP6AddressEntry;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function CheckAddress(AAddress:TIP6AddressEntry; ALock:Boolean; AState:LongWord):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 930: Line 939:
 
! Note
 
! Note
 
| None documented
 
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TIP6Transport.CheckHost(AHost:TIP6HostEntry; ALock:Boolean):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check a host entry in the host cache</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Host
 +
| The host entry to check
 +
|-
 +
! Lock
 +
| If True then lock the found entry before returning
 +
|-
 +
! Note
 +
| This allows safely obtaining a lock on an existing object in case it has been freed
 
|-
 
|-
 
|}
 
|}
Line 1,020: Line 1,047:
 
! Note
 
! Note
 
| None documented
 
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TIP6Transport.CheckRoute(ARoute:TIP6RouteEntry; ALock:Boolean; AState:LongWord):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check a route entry in the route cache</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Route
 +
| The route entry to check
 +
|-
 +
! Lock
 +
| If True then lock the found entry before returning
 +
|-
 +
! State
 +
| The lock type if Lock is True (NETWORK_LOCK_READ or NETWORK_LOCK_WRITE)
 +
|-
 +
! Note
 +
| This allows safely obtaining a lock on an existing object in case it has been freed
 
|-
 
|-
 
|}
 
|}
Line 1,101: Line 1,149:
 
! Note
 
! Note
 
| None documented
 
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TIP6Transport.CheckAddress(AAddress:TIP6AddressEntry; ALock:Boolean; AState:LongWord):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check an address entry in the address cache</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Address
 +
| The address entry to check
 +
|-
 +
! Lock
 +
| If True then lock the found entry before returning
 +
|-
 +
! State
 +
| The lock type if Lock is True (NETWORK_LOCK_READ or NETWORK_LOCK_WRITE)
 +
|-
 +
! Note
 +
| This allows safely obtaining a lock on an existing object in case it has been freed
 
|-
 
|-
 
|}
 
|}

Latest revision as of 23:26, 12 October 2022

Return to Unit IPv6


Description


To be documented

Class definitions



[Expand]

TIP6Transport = class(TNetworkTransport)


Function declarations



[Expand]
constructor TIP6Transport.Create(AManager:TTransportManager; const AName:String);
Description: To be documented


[Expand]
destructor TIP6Transport.Destroy;
Description: To be documented


[Expand]
function TIP6Transport.PacketHandler(AHandle:THandle; ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean;
Description: Process a packet received by an Adapter


[Expand]
function TIP6Transport.FragmentHandler(ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean;
Description: Process a received fragment by adding it to the buffer and if completed process the packet


[Expand]
function TIP6Transport.CheckFragment(ABuffer:Pointer):Boolean;
Description: Check if a packet is a fragment and return True if it is


[Expand]
function TIP6Transport.GetNextIP6Id(AIncrement:Boolean):Word;
Description: Get the next IP6 packet id number


[Expand]
function TIP6Transport.GetIP6Nameserver(ACount:LongWord):TIn6Addr;
Description: Get the nameserver address from the network settings


[Expand]
function TIP6Transport.GetAdapterConfigType(const AName:String):Word;
Description: Get the adapter config type from the network settings


[Expand]
function TIP6Transport.GetAdapterConfigAddress(const AName:String):TIn6Addr;
Description: Get the adapter address from the network settings


[Expand]
function TIP6Transport.GetAdapterConfigNetmask(const AName:String):TIn6Addr;
Description: Get the adapter netmask from the network settings


[Expand]
function TIP6Transport.GetAdapterConfigGateway(const AName:String):TIn6Addr;
Description: Get the adapter gateway from the network settings


[Expand]
function TIP6Transport.GetAdapterConfigServer(const AName:String):TIn6Addr;
Description: Get the adapter server from the network settings


[Expand]
function TIP6Transport.FilterPacket(ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean;
Description: Filter a received packet


[Expand]
function TIP6Transport.ForwardPacket(AAdapter:TTransportAdapter; ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean;
Description: Forward a received packet


[Expand]
function TIP6Transport.AddAdapter(AAdapter:TNetworkAdapter; AConfigType:Word; AAddress,ANetmask,AGateway,AServer:Pointer):Boolean;
Description: Add an adapter to this transport


[Expand]
function TIP6Transport.RemoveAdapter(AAdapter:TNetworkAdapter):Boolean;
Description: Remove an adapter from this transport


[Expand]
function TIP6Transport.AddProtocol(AProtocol:Word; APacketHandler:TTransportPacketHandler; AControlHandler:TTransportControlHandler):THandle;
Description: Add a protocol to this transport


[Expand]
function TIP6Transport.RemoveProtocol(AHandle:THandle; AProtocol:Word):Boolean;
Description: Remove a protocol from this transport


[Expand]
function TIP6Transport.AddFilter(AProtocol:Word; AFilterHandler:TTransportFilterHandler):THandle;
Description: Add a filter to this transport


[Expand]
function TIP6Transport.RemoveFilter(AHandle:THandle; AProtocol:Word):Boolean;
Description: Remove a filter from this transport


[Expand]
function TIP6Transport.AddConfig(AConfigType:Word; AConfigAuto:Boolean; AConfigHandler:TTransportConfigHandler):THandle;
Description: Add a config to this transport


[Expand]
function TIP6Transport.RemoveConfig(AHandle:THandle; AConfigType:Word):Boolean;
Description: Remove a config from this transport


[Expand]
function TIP6Transport.SendPacket(ASocket:TTransportSocket; ASource,ADest:Pointer; APacket:PPacketFragment; ASize,AFlags:Integer):Integer;
Description: Send a Packet by adding the Transport Header and other details to the Data


[Expand]
function TIP6Transport.SendControl(ASource,ADest:Pointer; AProtocol,ACommand,ACode:Word; AAddress,AData:Pointer; ASize:Integer):Boolean;
Description: To be documented


[Expand]
function TIP6Transport.GetSockOpt(ASocket:TTransportSocket; ALevel,AOptName:Integer; AOptValue:PChar; var AOptLength:Integer):Integer;
Description: BSD compatible Get Socket Option


[Expand]
function TIP6Transport.SetSockOpt(ASocket:TTransportSocket; ALevel,AOptName:Integer; AOptValue:PChar; AOptLength:Integer):Integer;
Description: BSD compatible Set Socket Option


[Expand]
function TIP6Transport.StartTransport:Boolean;
Description: Start this transport ready for sending and receiving


[Expand]
function TIP6Transport.StopTransport:Boolean;
Description: Stop this transport ready for removal


[Expand]
function TIP6Transport.ProcessTransport:Boolean;
Description: Process periodic tasks for this transport


[Expand]
function TIP6Transport.BindTransport(AAdapter:TNetworkAdapter):Boolean;
Description: Bind this transport to an adapter if appropriate


[Expand]
function TIP6Transport.UnbindTransport(AAdapter:TNetworkAdapter):Boolean;
Description: Unbind this transport from an adapter if appropriate


[Expand]
function TIP6Transport.AddNameserver(const AAddress:TIn6Addr):Boolean;
Description: Add a nameserver IP6 address to the list of available nameservers


[Expand]
function TIP6Transport.RemoveNameserver(const AAddress:TIn6Addr):Boolean;
Description: Remove a nameserver IP6 address from the list of available nameservers


[Expand]
function TIP6Transport.GetHostByName(const AName:String; ALock:Boolean):TIP6HostEntry;
Description: Find the name in the host cache


[Expand]
function TIP6Transport.GetHostByAddress(const AAddress:TIn6Addr; ALock:Boolean):TIP6HostEntry;
Description: Find the IP6 address in the host cache


[Expand]
function TIP6Transport.GetHostByNext(APrevious:TIP6HostEntry; ALock,AUnlock:Boolean):TIP6HostEntry;
Description: To be documented


[Expand]
function TIP6Transport.CheckHost(AHost:TIP6HostEntry; ALock:Boolean):Boolean;
Description: Check a host entry in the host cache


[Expand]
function TIP6Transport.AddHost(const AAddress:TIn6Addr; const AName:String; AType:Word; ALock:Boolean):TIP6HostEntry;
Description: Add an IP6 address and name to the host cache


[Expand]
function TIP6Transport.RemoveHost(const AAddress:TIn6Addr):Boolean;
Description: Remove an IP6 address from the host cache


[Expand]
procedure TIP6Transport.FlushHosts(All:Boolean);
Description: Flush hosts from the host cache


[Expand]
function TIP6Transport.GetRouteByAddress(const AAddress:TIn6Addr; ALock:Boolean; AState:LongWord):TIP6RouteEntry;
Description: Find the IP6 route in the route cache


[Expand]
function TIP6Transport.GetRouteByNetwork(const ANetwork,AAddress:TIn6Addr; ALock:Boolean; AState:LongWord):TIP6RouteEntry;
Description: Find the IP6 network and address in the route cache


[Expand]
function TIP6Transport.GetRouteByNext(APrevious:TIP6RouteEntry; ALock,AUnlock:Boolean; AState:LongWord):TIP6RouteEntry;
Description: To be documented


[Expand]
function TIP6Transport.CheckRoute(ARoute:TIP6RouteEntry; ALock:Boolean; AState:LongWord):Boolean;
Description: Check a route entry in the route cache


[Expand]
function TIP6Transport.AddRoute(const ANetwork,ANetmask,AGateway,AAddress:TIn6Addr; AType:Word; ALock:Boolean; AState:LongWord):TIP6RouteEntry;
Description: Add an IP6 route to the route cache


[Expand]
function TIP6Transport.RemoveRoute(const ANetwork,AAddress:TIn6Addr):Boolean;
Description: Remove an IP6 route from the route cache


[Expand]
procedure TIP6Transport.FlushRoutes(All:Boolean);
Description: Flush routes from the route cache


[Expand]
function TIP6Transport.GetAddressByAddress(const AAddress:TIn6Addr; ALock:Boolean; AState:LongWord):TIP6AddressEntry;
Description: Find the IP6 address in the address cache


[Expand]
function TIP6Transport.GetAddressByNext(APrevious:TIP6AddressEntry; ALock,AUnlock:Boolean; AState:LongWord):TIP6AddressEntry;
Description: To be documented


[Expand]
function TIP6Transport.CheckAddress(AAddress:TIP6AddressEntry; ALock:Boolean; AState:LongWord):Boolean;
Description: Check an address entry in the address cache


[Expand]
function TIP6Transport.AddAddress(const AAddress:TIn6Addr; AType:Word; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TIP6AddressEntry;
Description: Add an IP6 address to the address cache


[Expand]
function TIP6Transport.RemoveAddress(const AAddress:TIn6Addr):Boolean;
Description: Remove an IP6 address from the address cache


[Expand]
procedure TIP6Transport.FlushAddresses(All:Boolean);
Description: Flush addresses from the adresses cache


[Expand]
function TIP6Transport.GetNetworkByName(const AName:String; ALock:Boolean):TIP6NetworkEntry;
Description: Find the name in the network cache


[Expand]
function TIP6Transport.GetNetworkByAddress(const ANetwork:TIn6Addr; ALock:Boolean):TIP6NetworkEntry;
Description: Find the network address in the network cache


[Expand]
function TIP6Transport.AddNetwork(const AName:String; const ANetwork:TIn6Addr; ALock:Boolean):TIP6NetworkEntry;
Description: Add a network address and name to the network cache


[Expand]
function TIP6Transport.RemoveNetwork(const AName:String):Boolean;
Description: Remove a network from the network cache


[Expand]
function TIP6Transport.GetServByName(const AName,AProtocol:String; ALock:Boolean):TIP6ServEntry;
Description: Find the name in the service cache


[Expand]
function TIP6Transport.GetServByPort(APort:Word; const AProtocol:String; ALock:Boolean):TIP6ServEntry;
Description: Find the port in the service cache


[Expand]
function TIP6Transport.AddServ(const AName,AProtocol:String; APort:Word; ALock:Boolean):TIP6ServEntry;
Description: Add a service to the service cache


[Expand]
function TIP6Transport.RemoveServ(const AName,AProtocol:String):Boolean;
Description: Remove a service from the service cache


[Expand]
function TIP6Transport.GetProtoByName(const AName:String; ALock:Boolean):TIP6ProtoEntry;
Description: Find the name in the protocol cache


[Expand]
function TIP6Transport.GetProtoByNumber(ANumber:Word; ALock:Boolean):TIP6ProtoEntry;
Description: Find the protocol number in the protocol cache


[Expand]
function TIP6Transport.AddProto(const AName:String; ANumber:Word; ALock:Boolean):TIP6ProtoEntry;
Description: Add a protocol to the protocol cache


[Expand]
function TIP6Transport.RemoveProto(const AName:String):Boolean;
Description: Remove a protocol from the protocol cache


[Expand]
function TIP6Transport.CompareLocal(const AAddress:TIn6Addr):Boolean;
Description: Compare the supplied address with the local IP6 addresses


[Expand]
function TIP6Transport.CompareDefault(const AAddress:TIn6Addr):Boolean;
Description: Compare the supplied address with the default IP6 address


[Expand]
function TIP6Transport.CompareLoopback(const AAddress:TIn6Addr):Boolean;
Description: Compare the supplied address with the loopback IP6 address


[Expand]
function TIP6Transport.CompareDirected(const AAddress:TIn6Addr):Boolean;
Description: Compare the supplied address with the directed broadcast IP6 addresses


[Expand]
function TIP6Transport.CompareBroadcast(const AAddress:TIn6Addr):Boolean;
Description: Compare the supplied address with the broadcast IP6 address


[Expand]
function TIP6Transport.CompareMulticast(const AAddress:TIn6Addr):Boolean;
Description: Compare the supplied address with the multicast IP6 address


[Expand]
function TIP6Transport.CompareAddress(const AAddress1,AAddress2:TIn6Addr):Boolean;
Description: Compare the supplied addresses to see if they are the same


[Expand]
function TIP6Transport.CompareSubnet(const AAddress,ANetwork,ANetmask:TIn6Addr):Boolean;
Description: Compare the supplied address to see if it is in the supplied subnet


Return to Unit Reference