Return to Unit Reference
Description
Ultibo ARP (Address Resolution Protocol) unit
To be documented
Constants
[Expand]
ARP specific constants ARP_TRANSPORT_*, RARP_TRANSPORT_*
ARP_TRANSPORT_NAME = 'ARP';
|
|
RARP_TRANSPORT_NAME = 'RARP';
|
|
[Expand]
ARP and RARP constants MIN_*, MAX_*, ARP_*, RARP_*
MIN_ARP_PACKET = 46;
|
Not Counting Adapter Header
|
MAX_ARP_PACKET = 46;
|
Not Counting Adapter Header
|
|
ARP_TIMEOUT = 1000;
|
We wait for 1 second approx for reply
|
ARP_RETRIES = 4;
|
We try the request 4 times
|
|
RARP_TIMEOUT = 4000;
|
We wait for 4 seconds for a RARP reply
|
RARP_RETRIES = 4;
|
We try the request 4 times
|
|
ARP_HEADER_SIZE = 46;
|
SizeOf(TARPHeader);
|
RARP_HEADER_SIZE = 46;
|
SizeOf(TRARPHeader);
|
[Expand]
ARP and RARP messages ARP_*, RARP_*, INARP_*
ARP_REQUEST = $0001;
|
ARP/RARP op codes, Request
|
ARP_REPLY = $0002;
|
ARP/RARP op codes, Reply
|
RARP_REQUEST = $0003;
|
|
RARP_REPLY = $0004;
|
|
INARP_REQUEST = $0008;
|
Inverse ARP see RFC 1293
|
INARP_REPLY = $0009;
|
|
Type definitions
ARP specific types
[Expand]
PARPHeader = ^TARPHeader;
TARPHeader = packed record
Note: 46 Bytes
|
|
HardwareType:Word;
|
Hardware address space (Network Order)
|
ProtocolType:Word;
|
Protocol address space (Network Order)
|
HardwareLength:Byte;
|
Byte length of hardware address
|
ProtocolLength:Byte;
|
Byte length of each protocol address
|
Opcode:Word;
|
Op code (eg ARP_REQUEST or ARP_REPLY) (Network Order)
|
SourceHardware:THardwareAddress;
|
Source hardware address (of sender)
|
SourceIP:TInAddr;
|
Source protocol address (of sender) (Network Order)
|
TargetHardware:THardwareAddress;
|
Target hardware address (if known)
|
TargetIP:TInAddr;
|
Target protocol address (Network Order)
|
Reserved:array[0..17] of Word;
|
|
RARP specific types
[Expand]
PRARPHeader = ^TRARPHeader;
TRARPHeader = TARPHeader;
Class definitions
To be documented
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
Buffer
|
Buffer points to the complete packet without Adapter header
|
[Expand]
function CheckRARP(ABuffer:Pointer):Boolean;
Description: Verify that the packet is a valid RARP packet
Buffer
|
Buffer points to the complete packet without Adapter header
|
Return to Unit Reference