TBOOTPConfig

From Ultibo.org
Jump to: navigation, search

Return to Unit DHCP


Description


To be documented

Class definitions



TBOOTPConfig = class(TNetworkConfig)

constructor Create(AManager:TProtocolManager);  
destructor Destroy; override;  
private
FARP:TARPTransport;  
FUDP:TUDPProtocol;  
 
function ConfigHandler(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean;  
 
function CreateBOOTPRequest(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;  
function CheckBOOTPReply(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord):Boolean;  
function HandleBOOTPReply(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter):Boolean;  
 
function SendBOOTPRequest(ASocket:TProtocolSocket; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;  
function RecvBOOTPReply(ASocket:TProtocolSocket; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord):Boolean;  
 
function ExtractBOOTPOption(AOption:Byte; AHeader:PBOOTPHeader; AValue:Pointer; var ASize:Integer):Boolean;  
protected
 
public
function AddTransport(ATransport:TNetworkTransport):Boolean; override;  
function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;  
 
function StartConfig:Boolean; override;  
function StopConfig:Boolean; override;  
function ProcessConfig:Boolean; override;  
 
function SetConfig(AInitDelay,ARetryCount,ARetryTimeout:LongWord):Boolean; override;  


Function declarations



constructor TBOOTPConfig.Create(AManager:TProtocolManager);
Description: To be documented
Note None documented


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


function TBOOTPConfig.ConfigHandler(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean;
Description: Process a network config request from a Transport
Handle The Handle of the Config Transport the request is from
Adapter The transport adapter to perform configuration on
Command The configuration command to perform
Note Caller must hold the Adapter lock


function TBOOTPConfig.CreateBOOTPRequest(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;
Description: To be documented
Note Caller must hold the Transport and Adapter locks


function TBOOTPConfig.CheckBOOTPReply(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord):Boolean;
Description: To be documented
Note Caller must hold the Transport and Adapter locks


function TBOOTPConfig.HandleBOOTPReply(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter):Boolean;
Description: To be documented
Note Caller must hold the Transport and Adapter locks


function TBOOTPConfig.SendBOOTPRequest(ASocket:TProtocolSocket; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;
Description: To be documented
Note Caller must hold the Socket, Transport and Adapter locks.


function TBOOTPConfig.RecvBOOTPReply(ASocket:TProtocolSocket; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord):Boolean;
Description: To be documented
Note Caller must hold the Socket, Transport and Adapter locks.


function TBOOTPConfig.ExtractBOOTPOption(AOption:Byte; AHeader:PBOOTPHeader; AValue:Pointer; var ASize:Integer):Boolean;
Description: To be documented
Note The first four octets of the 'vendordata' field of the BOOTP message contain the (decimal) values 99, 130, 83 and 99, respectively.

This is the same magic cookie as is defined in RFC 1497 [17]


function TBOOTPConfig.AddTransport(ATransport:TNetworkTransport):Boolean;
Description: Add a transport to this config
Transport The transport to add


function TBOOTPConfig.RemoveTransport(ATransport:TNetworkTransport):Boolean;
Description: Remove a transport from this config
Transport The transport to remove


function TBOOTPConfig.StartConfig:Boolean;
Description: Start this config ready for use
Note None documented


function TBOOTPConfig.StopConfig:Boolean;
Description: Stop this config ready for removal
Note None documented


function TBOOTPConfig.ProcessConfig:Boolean;
Description: Process periodic tasks for this config
Note None documented


function TBOOTPConfig.SetConfig(AInitDelay,ARetryCount,ARetryTimeout:LongWord):Boolean;
Description: Set Delay, Retry and Timeout for this config
Note None documented


Return to Unit Reference