Unit ICMPv6
From Ultibo.org
Return to Unit Reference
Contents
Description
Ultibo ICMPv6 (Internet Control Message Protocol Version 6) unit
Constants
ICMPv6 protocol
ICMP6_PROTOCOL_*
Note: Some ICMPV6 definitions are in the Protocol or IPv6 modules | |
ICMP6_PROTOCOL_NAME = 'ICMPV6';
|
ICMPv6 specific constants
ICMP6_*
ICMP6_TIMEOUT = 0;
|
Wait forever on a ICMP6 Read |
ICMP6_BUFFER_SIZE = 65536;
|
ICMP6 Receive Buffer Size |
ICMP6_HEADER_SIZE = 5;
|
SizeOf(TICMP6Header); |
ICMP6_PACKET_SIZE = 8;
|
SizeOf(TICMP6Packet) |
Type definitions
ICMPv6 header
PICMP6Header = ^TICMP6Header;
TICMP6Header = packed record
Note: Some ICMPv6 definitions are in the Protocol or IPv6 modules | |
ICMP6Type:Byte;
|
ICMP_UNREACH etc |
Code:Byte;
|
ICMP_UNREACH_NET,ICMP_UNREACH_PORT etc |
Checksum:Word;
|
1s Compliment checksum of Structure |
CurrentHopLimit:Byte;
|
ICMPv6 packet
PICMP6Packet = ^TICMP6Packet;
TICMP6Packet = record
Note: 8 Bytes (Used by ICMP6Buffer) | |
Size:LongWord;
|
LongWord to keep size even |
Next:PICMP6Packet;
|
Followed by RemoteAddress (4 or 16 Bytes) |
Class definitions
ICMPv6 specific classes
TICMP6ProtocolTransport = class(TProtocolTransport)
|
TICMP6Protocol = class(TNetworkProtocol)
|
TICMP6Socket = class(TProtocolSocket)
|
TICMP6Buffer = class(TSocketBuffer)
|
Public variables
None defined
Function declarations
Initialization functions
procedure ICMP6Init;
Description: To be documented
Note | None documented |
---|
ICMPv6 functions
function CheckICMP6(AFamily:Word; ABuffer:Pointer):Boolean;
Description: Verify that the packet is a valid ICMP6 packet
Buffer | The complete packet including Transport header |
---|
function GetICMP6HeaderOffset(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented
Buffer | The complete packet including Transport header |
---|
function GetICMP6HeaderLength(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented
Buffer | The complete packet including Transport header |
---|
function GetICMP6DataOffset(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented
Buffer | The complete packet including Transport header |
---|
function GetICMP6DataLength(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented
Buffer | The complete packet including Transport header |
---|
function ChecksumICMP6(AFamily:Word; ABuffer:Pointer; AOffset,ALength:Word):Word;
Description: Checksum the ICMP6 Header on Send/Validate the Checksum on Receive
Note | None documented |
---|
Return to Unit Reference