Unit ICMP

From Ultibo.org
Jump to: navigation, search

Return to Unit Reference


Description


Ultibo ICMP (Internet Control Message Protocol) unit

Constants



[Expand]
ICMP protocol ICMP_PROTOCOL_*


[Expand]
ICMP specific constants ICMP_*


Type definitions



ICMP unused header

[Expand]

PICMPUnusedHeader = ^TICMPUnusedHeader;

TICMPUnusedHeader = packed record {Unreachable, TimeExceeded, SourceQuench etc}

ICMP unreach header

[Expand]

PICMPUnreachHeader = ^TICMPUnreachHeader;

TICMPUnreachHeader = TICMPUnusedHeader;

ICMP expire header

[Expand]

PICMPExpireHeader = ^TICMPExpireHeader;

TICMPExpireHeader = TICMPUnusedHeader;

ICMP quench header

[Expand]

PICMPQuenchHeader = ^TICMPQuenchHeader;

TICMPQuenchHeader = TICMPUnusedHeader;

ICMP pointer header

[Expand]

PICMPPointerHeader = ^TICMPPointerHeader;

TICMPPointerHeader = packed record

ICMP param header

[Expand]

PICMPParamHeader = ^TICMPParamHeader;

TICMPParamHeader = TICMPPointerHeader;

ICMP IP header

[Expand]

PICMPIpHeader = ^TICMPIpHeader;

TICMPIpHeader = packed record

ICMP redirect header

[Expand]

PICMPRedirectHeader = ^TICMPRedirectHeader;

TICMPRedirectHeader = TICMPIpHeader

ICMP echo header

[Expand]

PICMPEchoHeader = ^TICMPEchoHeader;

TICMPEchoHeader = packed record

ICMP time stamp header

[Expand]

PICMPTimestampHeader = ^TICMPTimestampHeader;

TICMPTimestampHeader = packed record

ICMP info header

[Expand]

PICMPInfoHeader = ^TICMPInfoHeader;

TICMPInfoHeader = packed record

ICMP mask header

[Expand]

PICMPMaskHeader = ^TICMPMaskHeader;

TICMPMaskHeader = packed record

ICMP router address

[Expand]

PICMPRouterAddress = ^TICMPRouterAddress;

TICMPRouterAddress = packed record

ICMP advert header

[Expand]

PICMPAdvertHeader = ^TICMPAdvertHeader;

TICMPAdvertHeader = packed record

ICMP solicit header

[Expand]

PICMPSolicitHeader = ^TICMPSolicitHeader;

TICMPSolicitHeader = packed record

ICMP header

[Expand]

PICMPHeader = ^TICMPHeader;

TICMPHeader = packed record

ICMP packet

[Expand]

PICMPPacket = ^TICMPPacket;

TICMPPacket = record


Class definitions



ICMP specific classes

TICMPProtocolTransport = class(TProtocolTransport)
TICMPProtocol = class(TNetworkProtocol)
TICMPSocket = class(TProtocolSocket)
TICMPBuffer = class(TSocketBuffer)


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure ICMPInit;
Description: To be documented


ICMP functions

[Expand]
function CheckICMP(AFamily:Word; ABuffer:Pointer):Boolean;
Description: Verify that the packet is a valid ICMP packet


[Expand]
function GetICMPHeaderOffset(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented


[Expand]
function GetICMPHeaderLength(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented


[Expand]
function GetICMPDataOffset(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented


[Expand]
function GetICMPDataLength(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented


[Expand]
function ChecksumICMP(AFamily:Word; ABuffer:Pointer; AOffset,ALength:Word):Word;
Description: Checksum the ICMP Header on Send/Validate the Checksum on Receive


Return to Unit Reference