Difference between revisions of "Unit ARP"

From Ultibo.org
Jump to: navigation, search
Line 229: Line 229:
 
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
 
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
 
|-
 
|-
| <code>function GetAddressByAddress(const AAddress:TInAddr; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TARPAddressEntry;</code>
+
|colspan="2"|&nbsp;
| &nbsp;
+
 
|-
 
|-
| <code>function GetAddressByHardware(const AHardware:THardwareAddress; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TARPAddressEntry;</code>
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>function AddAdapter(AAdapter:TNetworkAdapter; AConfigType:Word; AAddress,ANetmask,AGateway,AServer:Pointer):Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function GetAddressByNext(APrevious:TARPAddressEntry; ALock,AUnlock:Boolean; AState:LongWord):TARPAddressEntry;</code>
+
| <code>function RemoveAdapter(AAdapter:TNetworkAdapter):Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function AddAddress(const AAddress:TInAddr; const AHardware:THardwareAddress; AAdapter:TNetworkAdapter; AType:Word; ALock:Boolean; AState:LongWord):TARPAddressEntry;</code>
+
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function StartTransport:Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function RemoveAddress(const AAddress:TInAddr; AAdapter:TNetworkAdapter):Boolean;</code>
+
| <code>function StopTransport:Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>procedure FlushAddresses(All:Boolean);</code>
+
| <code>function ProcessTransport:Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function AddAdapter(AAdapter:TNetworkAdapter; AConfigType:Word; AAddress,ANetmask,AGateway,AServer:Pointer):Boolean; override;</code>
+
| <code>function BindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function RemoveAdapter(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| <code>function UnbindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function StartTransport:Boolean; override;</code>
+
| <code>function GetAddressByAddress(const AAddress:TInAddr; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TARPAddressEntry;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function StopTransport:Boolean; override;</code>
+
| <code>function GetAddressByHardware(const AHardware:THardwareAddress; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TARPAddressEntry;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function ProcessTransport:Boolean; override;</code>
+
| <code>function GetAddressByNext(APrevious:TARPAddressEntry; ALock,AUnlock:Boolean; AState:LongWord):TARPAddressEntry;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
|colspan="2"|&nbsp;
+
| <code>function AddAddress(const AAddress:TInAddr; const AHardware:THardwareAddress; AAdapter:TNetworkAdapter; AType:Word; ALock:Boolean; AState:LongWord):TARPAddressEntry;</code>
 +
| &nbsp;
 
|-
 
|-
| <code>function BindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| <code>function RemoveAddress(const AAddress:TInAddr; AAdapter:TNetworkAdapter):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function UnbindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| <code>procedure FlushAddresses(All:Boolean);</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 415: Line 419:
 
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
 
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
 
|-
 
|-
| <code>function GetAddressByAddress(const AAddress:TInAddr; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TRARPAddressEntry; </code>
+
|colspan="2"|&nbsp;
| &nbsp;
+
 
|-
 
|-
| <code>function GetAddressByHardware(const AHardware:THardwareAddress; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TRARPAddressEntry;</code>
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
 +
|-
 +
| <code>function AddAdapter(AAdapter:TNetworkAdapter; AConfigType:Word; AAddress,ANetmask,AGateway,AServer:Pointer):Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function GetAddressByNext(APrevious:TRARPAddressEntry; ALock,AUnlock:Boolean; AState:LongWord):TRARPAddressEntry;</code>
+
| <code>function RemoveAdapter(AAdapter:TNetworkAdapter):Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function AddAddress(const AAddress:TInAddr; const AHardware:THardwareAddress; AAdapter:TNetworkAdapter; AType:Word; ALock:Boolean; AState:LongWord):TRARPAddressEntry;</code>
+
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function StartTransport:Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function RemoveAddress(const AAddress:TInAddr; AAdapter:TNetworkAdapter):Boolean;</code>
+
| <code>function StopTransport:Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>procedure FlushAddresses(All:Boolean);</code>
+
| <code>function ProcessTransport:Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function AddAdapter(AAdapter:TNetworkAdapter; AConfigType:Word; AAddress,ANetmask,AGateway,AServer:Pointer):Boolean; override;</code>
+
| <code>function BindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function RemoveAdapter(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| <code>function UnbindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function StartTransport:Boolean; override;</code>
+
| <code>function GetAddressByAddress(const AAddress:TInAddr; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TRARPAddressEntry; </code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function StopTransport:Boolean; override;</code>
+
| <code>function GetAddressByHardware(const AHardware:THardwareAddress; AAdapter:TNetworkAdapter; ALock:Boolean; AState:LongWord):TRARPAddressEntry;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function ProcessTransport:Boolean; override;</code>
+
| <code>function GetAddressByNext(APrevious:TRARPAddressEntry; ALock,AUnlock:Boolean; AState:LongWord):TRARPAddressEntry;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
|colspan="2"|&nbsp;
+
| <code>function AddAddress(const AAddress:TInAddr; const AHardware:THardwareAddress; AAdapter:TNetworkAdapter; AType:Word; ALock:Boolean; AState:LongWord):TRARPAddressEntry;</code>
 +
| &nbsp;
 
|-
 
|-
| <code>function BindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| <code>function RemoveAddress(const AAddress:TInAddr; AAdapter:TNetworkAdapter):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function UnbindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| <code>procedure FlushAddresses(All:Boolean);</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-

Revision as of 02:14, 24 July 2017

Return to Unit Reference


Description


Ultibo ARP (Address Resolution Protocol) unit

To be documented

Constants



[Expand]
ARP specific constants ARP_TRANSPORT_*, RARP_TRANSPORT_*


[Expand]
ARP and RARP constants MIN_*, MAX_*, ARP_*, RARP_*


[Expand]
ARP and RARP messages ARP_*, RARP_*, INARP_*


Type definitions



ARP specific types

[Expand]

PARPHeader = ^TARPHeader;

TARPHeader = packed record

RARP specific types

[Expand]

PRARPHeader = ^TRARPHeader;

TRARPHeader = TARPHeader;


Class definitions



ARP transport adapter

[Expand]

TARPTransportAdapter = class(TTransportAdapter)

ARP transport

[Expand]

TARPTransport = class(TNetworkTransport)

ARP address entry

[Expand]

TARPAddressEntry = class(TAddressEntry)

RARP transport adapter

[Expand]

TRARPTransportAdapter = class(TTransportAdapter)

RARP transport

[Expand]

TRARPTransport = class(TNetworkTransport)

RARP address entry

[Expand]

TRARPAddressEntry = class(TAddressEntry)


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure ARPInit;
Description: To be documented


ARP functions

[Expand]
function CheckARP(ABuffer:Pointer):Boolean;
Description: Verify that the packet is a valid ARP packet


[Expand]
function CheckRARP(ABuffer:Pointer):Boolean;
Description: Verify that the packet is a valid RARP packet


Return to Unit Reference