TICMPBuffer

From Ultibo.org
Revision as of 03:29, 18 May 2018 by Ultibo (Talk | contribs) (Created page with "Return to Unit ICMP __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible mw-collapse...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Return to Unit ICMP


Description


To be documented

Class definitions



TICMPBuffer = class(TSocketBuffer)

constructor Create(ASocket:TTransportSocket);  
destructor Destroy; override;  
private
FOffset:Word; Offset to RemoteAddress
FLength:Word; Length of RemoteAddress
 
FRead:Pointer; Pointer to Next Read from Buffer
FWrite:Pointer; Pointer to Next Write to Buffer
 
FCount:LongWord; Number of Packets in Buffer
 
FFirst:PICMPPacket; Pointer to First Packet
FLast:PICMPPacket; Pointer to Last Packet
 
function AddPacket(ASize:Integer):Boolean;  
function RemovePacket:Boolean;  
procedure FlushPackets;  
protected
procedure SetSize(ASize:LongWord); override;  
public
function GetNext:Integer;  
function GetCount:LongWord;  
 
function ReadBuffer(var ABuffer; var ASize:Integer; ARemoteAddress:Pointer; AFlags:Integer):Boolean;  
function WriteBuffer(var ABuffer; ASize:Integer; ARemoteAddress:Pointer):Boolean;  


Function declarations



constructor TICMPBuffer.Create(ASocket:TTransportSocket);
Description: To be documented
Note None documented


destructor TICMPBuffer.Destroy;
Description: To be documented
Note None documented


function TICMPBuffer.AddPacket(ASize:Integer):Boolean;
Description: Adds a new Packet as the Last packet in the Buffer
Note None documented


function TICMPBuffer.RemovePacket:Boolean;
Description: Removes the First packet from the Buffer
Note None documented


procedure TICMPBuffer.FlushPackets;
Description: To be documented
Note None documented


procedure TICMPBuffer.SetSize(ASize:LongWord);
Description: Setting the Size clears any current Packets
Note None documented


function TICMPBuffer.GetNext:Integer;
Description: To be documented
Note None documented


function TICMPBuffer.GetCount:LongWord;
Description: To be documented
Note None documented


function TICMPBuffer.ReadBuffer(var ABuffer; var ASize:Integer; ARemoteAddress:Pointer; AFlags:Integer):Boolean;
Description: Stored Packet contains the Data and if IP_HDRINCL the Transport Header
Size Passed Size contains size of Buffer and should return the size of Packet
Flags Flags is for MSG_PEEK and MSG_OOB when applicable


function TICMPBuffer.WriteBuffer(var ABuffer; ASize:Integer; ARemoteAddress:Pointer):Boolean;
Description: Supplied Buffer contains the Data and if IP_HDRINCL the Transport Header
Note Data that will not fit in the Buffer is simply discarded


Return to Unit Reference