Difference between revisions of "Unit IGMP"
From Ultibo.org
(8 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
'''Ultibo IGMP (Internet Group Management Protocol) unit''' | '''Ultibo IGMP (Internet Group Management Protocol) unit''' | ||
− | |||
− | |||
=== Constants === | === Constants === | ||
Line 14: | Line 12: | ||
<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;">'''IGMP | + | <div style="font-size: 14px; padding-left: 12px;">'''IGMP protocol''' <code> IGMP_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 27: | ||
<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;">'''IGMP constants''' <code> IGMP_* </code></div> | + | <div style="font-size: 14px; padding-left: 12px;">'''IGMP specific constants''' <code> IGMP_* </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 120: | Line 118: | ||
---- | ---- | ||
− | '' | + | |
+ | '''IGMP specific classes''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TIGMPProtocolTransport|<code>TIGMPProtocolTransport = class(TProtocolTransport)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TIGMPProtocol|<code>TIGMPProtocol = class(TNetworkProtocol)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TIGMPGroup|<code>TIGMPGroup = class(TListObject)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TIGMPSocket|<code>TIGMPSocket = class(TProtocolSocket)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TIGMPBuffer|<code>TIGMPBuffer = class(TSocketBuffer)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
=== Public variables === | === Public variables === | ||
Line 139: | Line 165: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 154: | Line 180: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Buffer |
| The complete packet including Transport header | | The complete packet including Transport header | ||
|- | |- | ||
Line 166: | Line 192: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Buffer |
| The complete packet including Transport header | | The complete packet including Transport header | ||
|- | |- | ||
Line 178: | Line 204: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Buffer |
| The complete packet including Transport header | | The complete packet including Transport header | ||
|- | |- | ||
Line 190: | Line 216: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Buffer |
| The complete packet including Transport header | | The complete packet including Transport header | ||
|- | |- | ||
Line 202: | Line 228: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Buffer |
| The complete packet including Transport header | | The complete packet including Transport header | ||
|- | |- | ||
Line 210: | Line 236: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">function ChecksumIGMP(AFamily:Word; ABuffer:Pointer; AOffset,ALength:Word):Word;</pre> | <pre style="border: 0; padding-bottom:0px;">function ChecksumIGMP(AFamily:Word; ABuffer:Pointer; AOffset,ALength:Word):Word;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Checksum the IGMP Header on Send / Validate the Checksum on Receive</div> | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Checksum the IGMP Header on Send/Validate the Checksum on Receive</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;" | ||
|- | |- | ||
− | ! | + | ! Note |
| Checksum is calculated on the whole packet (Header and Data) | | Checksum is calculated on the whole packet (Header and Data) | ||
|- | |- |
Latest revision as of 05:24, 31 August 2021
Return to Unit Reference
Contents
[hide]Description
Ultibo IGMP (Internet Group Management Protocol) unit
Constants
[Expand]
IGMP protocol
IGMP_PROTOCOL_*
[Expand]
IGMP specific constants
IGMP_*
Type definitions
IGMP header
IGMP packet
Class definitions
IGMP specific classes
TIGMPProtocolTransport = class(TProtocolTransport)
|
TIGMPProtocol = class(TNetworkProtocol)
|
TIGMPGroup = class(TListObject)
|
TIGMPSocket = class(TProtocolSocket)
|
TIGMPBuffer = class(TSocketBuffer)
|
Public variables
None defined
Function declarations
Initialization functions
IGMP functions
[Expand]
function CheckIGMP(AFamily:Word; ABuffer:Pointer):Boolean;
Description: Verify that the packet is a valid IGMP packet
[Expand]
function GetIGMPHeaderOffset(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented
[Expand]
function GetIGMPHeaderLength(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented
[Expand]
function GetIGMPDataOffset(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented
[Expand]
function GetIGMPDataLength(AFamily:Word; ABuffer:Pointer):Word;
Description: To be documented
[Expand]
function ChecksumIGMP(AFamily:Word; ABuffer:Pointer; AOffset,ALength:Word):Word;
Description: Checksum the IGMP Header on Send/Validate the Checksum on Receive
Return to Unit Reference