Difference between revisions of "Unit DHCP"

From Ultibo.org
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
----
 
----
  
'''Ultibo DHCP/BOOTP Protocol client unit'''
+
'''Ultibo DHCP/BOOTP Protocol Client unit'''
 
+
''To be documented''
+
  
 
=== Constants ===
 
=== Constants ===
Line 571: Line 569:
  
  
'''DHCP configuration transport'''
+
'''DHCP specific classes'''
  
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
<code>TDHCPConfigTransport = class(TConfigTransport)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
| [[TDHCPConfigTransport|<code>TDHCPConfigTransport = class(TConfigTransport)</code>]]
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
+
'''DHCP configuration'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TDHCPConfig = class(TNetworkConfig)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create(AManager:TProtocolManager);</code>
+
| [[TDHCPConfig|<code>TDHCPConfig = class(TNetworkConfig)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
| <code>destructor Destroy; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>FARP:TARPTransport;</code>
+
| &nbsp;
+
|-
+
| <code>FUDP:TUDPProtocol;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ConfigHandler(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function GetDHCPClientId(AAdapter:TTransportAdapter):TDHCPClientId;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function GetDHCPHeaderSize(AHeader:PDHCPHeader):Integer;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function CreateDHCPRequest(AHeader:PDHCPHeader; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function CheckDHCPReply(AHeader:PDHCPHeader; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function HandleDHCPReply(AHeader:PDHCPHeader; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; ACommand:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function SendDHCPDiscover(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function SendDHCPRequest(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function SendDHCPDecline(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function SendDHCPRelease(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function SendDHCPInform(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function SendDHCPRenew(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function SendDHCPRebind(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function SendDHCPReboot(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function RecvDHCPReply(ASocket:TProtocolSocket; ATransport:TDHCPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACommand:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function InsertDHCPOption(AOption:Byte; AHeader:PDHCPHeader; AValue:Pointer; ASize:Integer):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function ExtractDHCPOption(AOption:Byte; AHeader:PDHCPHeader; AValue:Pointer; var ASize:Integer):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
| <code>function AddTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function StartConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function SetConfig(AInitDelay,ARetryCount,ARetryTimeout:LongWord):Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''BOOTP configuration transport'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TBOOTPConfigTransport = class(TConfigTransport)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
| [[TBOOTPConfigTransport|<code>TBOOTPConfigTransport = class(TConfigTransport)</code>]]
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''BOOTP configuration'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TBOOTPConfig = class(TNetworkConfig)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create(AManager:TProtocolManager);</code>
+
| [[TBOOTPConfig|<code>TBOOTPConfig = class(TNetworkConfig)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
| <code>destructor Destroy; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>FARP:TARPTransport;</code>
+
| &nbsp;
+
|-
+
| <code>FUDP:TUDPProtocol;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ConfigHandler(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function CreateBOOTPRequest(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function CheckBOOTPReply(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function HandleBOOTPReply(AHeader:PBOOTPHeader; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function SendBOOTPRequest(ASocket:TProtocolSocket; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord; ACount:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function RecvBOOTPReply(ASocket:TProtocolSocket; ATransport:TBOOTPConfigTransport; AAdapter:TTransportAdapter; AIdentifier:LongWord):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ExtractBOOTPOption(AOption:Byte; AHeader:PBOOTPHeader; AValue:Pointer; var ASize:Integer):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
| <code>function AddTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function StartConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function SetConfig(AInitDelay,ARetryCount,ARetryTimeout:LongWord):Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''ARP configuration transport'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TARPConfigTransport = class(TConfigTransport)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
| [[TARPConfigTransport|<code>TARPConfigTransport = class(TConfigTransport)</code>]]
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''ARP configuration'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TARPConfig = class(TNetworkConfig)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create(AManager:TProtocolManager);</code>
+
| [[TARPConfig|<code>TARPConfig = class(TNetworkConfig)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
| <code>destructor Destroy; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>FARP:TARPTransport;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ConfigHandler(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
| <code>function AddTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function StartConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessConfig:Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''RARP configuration transport'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TRARPConfigTransport = class(TConfigTransport)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
| [[TRARPConfigTransport|<code>TRARPConfigTransport = class(TConfigTransport)</code>]]
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''RARP configuration'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TRARPConfig = class(TNetworkConfig)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create(AManager:TProtocolManager);</code>
+
| [[TRARPConfig|<code>TRARPConfig = class(TNetworkConfig)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
| <code>destructor Destroy; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>FRARP:TRARPTransport;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ConfigHandler(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
| <code>function AddTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function StartConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessConfig:Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''Static configuration transport'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TStaticConfigTransport = class(TConfigTransport)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
| [[TStaticConfigTransport|<code>TStaticConfigTransport = class(TConfigTransport)</code>]]
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
+
'''Static configuration'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TStaticConfig = class(TNetworkConfig)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create(AManager:TProtocolManager);</code>
+
| [[TStaticConfig|<code>TStaticConfig = class(TNetworkConfig)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
| <code>destructor Destroy; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>FARP:TARPTransport;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ConfigHandler(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
| <code>function AddTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function StartConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessConfig:Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''Loopback configuration transport'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TLoopbackConfigTransport = class(TConfigTransport)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
| [[TLoopbackConfigTransport|<code>TLoopbackConfigTransport = class(TConfigTransport)</code>]]
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''Loopback configuration'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TLoopbackConfig = class(TNetworkConfig)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create(AManager:TProtocolManager);</code>
+
| [[TLoopbackConfig|<code>TLoopbackConfig = class(TNetworkConfig)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
| <code>destructor Destroy; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>function ConfigHandler(AHandle:THandle; AAdapter:TTransportAdapter; ACommand:Word):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
| <code>function AddTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveTransport(ATransport:TNetworkTransport):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function StartConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopConfig:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessConfig:Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div> 
 
 
<br />
 
<br />
  
Line 1,070: Line 646:
 
<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;">procedure DHCPInit;</pre>
 
<pre style="border: 0; padding-bottom:0px;">procedure DHCPInit;</pre>
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
+
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Initialize the DHCP unit and create the Loopback, Static, DHCP, BOOTP, RARP and ARP configuration handlers</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'''
+
! Note
| None documented
+
| Called only during system startup
 
|-
 
|-
 
|}
 
|}

Latest revision as of 05:20, 31 August 2021

Return to Unit Reference


Description


Ultibo DHCP/BOOTP Protocol Client unit

Constants



[Expand]
DHCP specific constants BOOTP_*


[Expand]
BOOTP/DHCP request BOOTP_REQUEST*


[Expand]
DHCP message DHCP_*


[Expand]
BOOTP/DHCP options


[Expand]
DHCP flag DHCP_FLAG_*


[Expand]
ARP configuration ARP_CONFIG_*


Type definitions



DHCP specific types

[Expand]

PBOOTPHeader = ^TBOOTPHeader;

TBOOTPHeader = packed record

DHCP header

[Expand]

PDHCPHeader = ^TDHCPHeader;

TDHCPHeader = packed record

DHCP client Id

[Expand]

PDHCPClientId = ^TDHCPClientId;

TDHCPClientId = packed record


Class definitions



DHCP specific classes

TDHCPConfigTransport = class(TConfigTransport)
TDHCPConfig = class(TNetworkConfig)
TBOOTPConfigTransport = class(TConfigTransport)
TBOOTPConfig = class(TNetworkConfig)
TARPConfigTransport = class(TConfigTransport)
TARPConfig = class(TNetworkConfig)
TRARPConfigTransport = class(TConfigTransport)
TRARPConfig = class(TNetworkConfig)
TStaticConfigTransport = class(TConfigTransport)
TStaticConfig = class(TNetworkConfig)
TLoopbackConfigTransport = class(TConfigTransport)
TLoopbackConfig = class(TNetworkConfig)


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure DHCPInit;
Description: Initialize the DHCP unit and create the Loopback, Static, DHCP, BOOTP, RARP and ARP configuration handlers


Return to Unit Reference