Difference between revisions of "Unit ICMP"

From Ultibo.org
Jump to: navigation, search
Line 14: Line 14:
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
<div style="font-size: 14px; padding-left: 12px;">'''ICMP specific constants''' <code> ICMP_PROTOCOL_* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''ICMP protocol''' <code> ICMP_PROTOCOL_* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 29: Line 29:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
<div style="font-size: 14px; padding-left: 12px;">'''ICMP constants''' <code> ICMP_* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''ICMP specific constants''' <code> ICMP_* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"

Revision as of 05:34, 24 March 2017

Return to Unit Reference


Description


Ultibo ICMP (Internet Control Message Protocol) unit

To be documented

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 protocol transport

[Expand]

TICMPProtocolTransport = class(TProtocolTransport)

ICMP protocol

[Expand]

TICMPProtocol = class(TNetworkProtocol)

ICMP socket

[Expand]

TICMPSocket = class(TProtocolSocket)

ICMP buffer

[Expand]

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