Unit Loopback

From Ultibo.org
Revision as of 06:23, 15 March 2017 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


Ultibo Loopback Network adapter unit

To be documented

Constants



Loopback specific constants _LOOPBACK_*
MAX_LOOPBACK_BUFFERS = 256; Used for Recv Queues (Increased to Handle Higher Data Rate)
MIN_LOOPBACK_BUFFERS = 4; Used for Send Queues


Type definitions



Loopback buffer

PLoopbackBuffer = ^TLoopbackBuffer;

TLoopbackBuffer = packed record

Size:Word; Size of Data
Data:array[0..MAX_PHYSICAL_PACKET - 3] of Byte; MAX_PHYSICAL_PACKET - Word


Class definitions



Loopback adapter

TLoopbackAdapter = class(TNetworkAdapter)

constructor Create(AManager:TAdapterManager; ADevice:PNetworkDevice; const AName:String);  
private
FHardwareAddress:THardwareAddress;  
public
function AddTransport(APacketType,AFrameType:Word; const APacketName:String; APacketHandler:TAdapterPacketHandler):THandle; override;  
function RemoveTransport(AHandle:THandle; APacketType:Word):Boolean; override;  
 
function GetMTU(AHandle:THandle):Word; override;  
 
function SendPacket(AHandle:THandle; ADest:Pointer; APacket:PPacketFragment; ASize:Integer):Boolean; override;  
 
function GetHardwareAddress(AHandle:THandle):THardwareAddress; override;  
 
function StartAdapter:Boolean; override;  
function StopAdapter:Boolean; override;  
function ProcessAdapter:Boolean; override;  

Loopback adapter transport

TLoopbackAdapterTransport = class(TAdapterTransport)

constructor Create;  
destructor Destroy; override;  
public
Buffer:TAdapterBuffer;  


Public variables


None defined

Function declarations



Initialization functions

procedure LoopbackInit;
Description: To be documented
Note None documented


Return to Unit Reference