Difference between revisions of "Unit ICMPv6"
From Ultibo.org
Line 56: | Line 56: | ||
---- | ---- | ||
− | '' | + | |
+ | '''ICMPv6 header''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PICMP6Header = ^TICMP6Header;</code> | ||
+ | |||
+ | <code>TICMP6Header = packed record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Some ICMPv6 definitions are in the Protocol or IPv6 modules | ||
+ | |- | ||
+ | | <code>ICMP6Type:Byte;</code> | ||
+ | | ICMP_UNREACH etc | ||
+ | |- | ||
+ | | <code>Code:Byte;</code> | ||
+ | | ICMP_UNREACH_NET,ICMP_UNREACH_PORT etc | ||
+ | |- | ||
+ | | <code>Checksum:Word;</code> | ||
+ | | 1s Compliment checksum of Structure | ||
+ | |- | ||
+ | | <code>CurrentHopLimit:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ICMPv6 packet''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PICMP6Packet = ^TICMP6Packet;</code> | ||
+ | |||
+ | <code>TICMP6Packet = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: 8 Bytes (Used by ICMP6Buffer) | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | LongWord to keep size even | ||
+ | |- | ||
+ | | <code>Next:PICMP6Packet;</code> | ||
+ | | Followed by RemoteAddress (4 or 16 Bytes) | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Class definitions === | === Class definitions === |
Revision as of 00:28, 20 January 2017
Return to Unit Reference
Contents
Description
Ultibo ICMPv6 (Internet Control Message Protocol version 6) unit
To be documented
Constants
ICMPv6 specific constants
ICMP6_PROTOCOL_*
Note: Some ICMPV6 definitions are in the Protocol or IPv6 modules | |
ICMP6_PROTOCOL_NAME = 'ICMPV6';
|
ICMPv6 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
To be documented
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