Difference between revisions of "Unit WebStatus"
From Ultibo.org
(26 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
---- | ---- | ||
− | '' | + | '''Ultibo Web Status unit''' |
=== Constants === | === Constants === | ||
Line 18: | Line 18: | ||
| <code>RtlMaxUnits = 1024;</code> | | <code>RtlMaxUnits = 1024;</code> | ||
| See maxunits in system.inc | | See maxunits in system.inc | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>DeviceTreeMaxColumns = 140;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DeviceTreeColumnOffset = 20;</code> | ||
+ | | | ||
|- | |- | ||
|} | |} | ||
Line 26: | Line 34: | ||
---- | ---- | ||
− | '' | + | |
+ | '''RTL initialize final record''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | |||
+ | <code>TRtlInitFinalRec = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: See TInitFinalRec in system.inc | ||
+ | |- | ||
+ | | <code>InitProc:TProcedure;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>FinalProc:TProcedure;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''RTL initialize final table''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PRtlInitFinalTable = ^TRtlInitFinalTable;</code> | ||
+ | |||
+ | <code>TRtlInitFinalTable = record </code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: See TInitFinalTable in system.inc | ||
+ | |- | ||
+ | | <code>TableCount:LongWord;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>InitCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Procs:array[1..RtlMaxUnits] of TRtlInitFinalRec;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''Web status data''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PWebStatusData = ^TWebStatusData;</code> | ||
+ | |||
+ | <code>TWebStatusData = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Document:TWebStatusSub;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Host:THTTPHost;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Request:THTTPServerRequest;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Response:THTTPServerResponse;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ContentStream:TStream;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Data:Pointer;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''Web status content''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TWebStatusContent = function(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean of Object; </code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | === Class definitions === | ||
+ | ---- | ||
+ | |||
+ | |||
+ | '''Web status specific classes''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusMain|<code>TWebStatusMain = class(THTTPDocument)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusSub|<code>TWebStatusSub = class(THTTPDocument)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusPlatform|<code>TWebStatusPlatform = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusMemory|<code>TWebStatusMemory = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusHeap|<code>TWebStatusHeap = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusCPU|<code>TWebStatusCPU = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusFPU|<code>TWebStatusFPU = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusGPU|<code>TWebStatusGPU = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusRTL|<code>TWebStatusRTL = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusClock|<code>TWebStatusClock = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusLocale|<code>TWebStatusLocale = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusThreading|<code>TWebStatusThreading = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusThreadList|<code>TWebStatusThreadList = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusScheduler|<code>TWebStatusScheduler = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusDevices|<code>TWebStatusDevices = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusDrivers|<code>TWebStatusDrivers = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusHandles|<code>TWebStatusHandles = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusUSB|<code>TWebStatusUSB = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusPCI|<code>TWebStatusPCI = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusMMC|<code>TWebStatusMMC = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusHID|<code>TWebStatusHID = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusNetwork|<code>TWebStatusNetwork = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusStorage|<code>TWebStatusStorage = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusFilesystem|<code>TWebStatusFilesystem = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusCache|<code>TWebStatusCache = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusKeyboard|<code>TWebStatusKeyboard = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusMouse|<code>TWebStatusMouse = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusTouch|<code>TWebStatusTouch = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusJoystick|<code>TWebStatusJoystick = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusFramebuffer|<code>TWebStatusFramebuffer = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusEnvironment|<code>TWebStatusEnvironment = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusPageTables|<code>TWebStatusPageTables = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusVectorTables|<code>TWebStatusVectorTables = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusIRQFIQSWI|<code>TWebStatusIRQFIQSWI = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusGPIO|<code>TWebStatusGPIO = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusConfiguration|<code>TWebStatusConfiguration = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusDeviceTree|<code>TWebStatusDeviceTree = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusDebug|<code>TWebStatusDebug = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TWebStatusCustom|<code>TWebStatusCustom = class(TWebStatusSub)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
=== Public variables === | === Public variables === | ||
---- | ---- | ||
− | '' | + | |
+ | '''Web status specific variables''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>WEBSTATUS_FONT_NAME:String = 'Arial';</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>WEBSTATUS_HEAP_FREE_COUNT:LongWord = 250;</code> | ||
+ | | style="width: 40%;"|Maximum number of free heap blocks to display | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>WEBSTATUS_HEAP_USED_COUNT:LongWord = 250;</code> | ||
+ | | style="width: 40%;"|Maximum number of used heap blocks to display | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code> WEBSTATUS_ALLOW_RESTART:LongBool = True;</code> | ||
+ | | style="width: 40%;"|If True enable the Restart button on the main page | ||
+ | |- | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>WEBSTATUS_ALLOW_SHUTDOWN:LongBool = True;</code> | ||
+ | | style="width: 40%;"|If True enable the Shutdown button on the main page | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
=== Function declarations === | === Function declarations === | ||
Line 45: | Line 369: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 57: | Line 381: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 66: | Line 390: | ||
'''Web status helper functions''' | '''Web status helper functions''' | ||
+ | <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 WebStatusDeviceTreeLogOutput(const AText:String; Data:Pointer);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
<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 WebStatusDeviceEnumerate(Device:PDevice; Data:Pointer):LongWord;</pre> | <pre style="border: 0; padding-bottom:0px;">function WebStatusDeviceEnumerate(Device:PDevice; Data:Pointer):LongWord;</pre> | ||
Line 72: | Line 408: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 84: | Line 420: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! Note |
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusHandleEnumerate(Handle:PHandleEntry; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
| None documented | | None documented | ||
|- | |- | ||
Line 96: | Line 444: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 108: | Line 456: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 120: | Line 468: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 132: | Line 480: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! '''Note''' | + | ! Note |
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusUSBLogOutput(const AText:String; Data:Pointer);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusUSBLogDeviceCallback(Device:PUSBDevice; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusUSBLogTreeCallback(Device:PUSBDevice; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusPCIDeviceEnumerate(Device:PPCIDevice; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusPCIHostEnumerate(Host:PPCIHost; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusPCIDriverEnumerate(Driver:PPCIDriver; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusMMCEnumerate(MMC:PMMCDevice; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
| None documented | | None documented | ||
|- | |- | ||
Line 144: | Line 576: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! '''Note''' | + | ! Note |
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusSDIODriverEnumerate(Driver:PSDIODriver; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusHIDDeviceEnumerate(Device:PHIDDevice; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusHIDConsumerEnumerate(Consumer:PHIDConsumer; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
| None documented | | None documented | ||
|- | |- | ||
Line 156: | Line 624: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 168: | Line 636: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 180: | Line 648: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! Note |
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusTouchEnumerate(Touch:PTouchDevice; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
| None documented | | None documented | ||
|- | |- | ||
Line 192: | Line 672: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! '''Note''' | + | ! Note |
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusJoystickEnumerate(Joystick:PJoystickDevice; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <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 WebStatusConsoleWindowEnumerate(Console:PConsoleDevice; Handle:TWindowHandle; Data:Pointer):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! Note | ||
| None documented | | None documented | ||
|- | |- |
Latest revision as of 05:45, 16 November 2022
Return to Unit Reference
Contents
Description
Ultibo Web Status unit
Constants
Web status specific constants
RtlMaxUnits*
RtlMaxUnits = 1024;
|
See maxunits in system.inc |
DeviceTreeMaxColumns = 140;
|
|
DeviceTreeColumnOffset = 20;
|
Type definitions
RTL initialize final record
TRtlInitFinalRec = record
Note: See TInitFinalRec in system.inc | |
InitProc:TProcedure;
|
|
FinalProc:TProcedure;
|
RTL initialize final table
PRtlInitFinalTable = ^TRtlInitFinalTable;
TRtlInitFinalTable = record
Note: See TInitFinalTable in system.inc | |
TableCount:LongWord;
|
|
InitCount:LongWord;
|
|
Procs:array[1..RtlMaxUnits] of TRtlInitFinalRec;
|
Web status data
PWebStatusData = ^TWebStatusData;
TWebStatusData = record
Document:TWebStatusSub;
|
|
Host:THTTPHost;
|
|
Request:THTTPServerRequest;
|
|
Response:THTTPServerResponse;
|
|
ContentStream:TStream;
|
|
Data:Pointer;
|
Web status content
TWebStatusContent = function(AHost:THTTPHost; ARequest:THTTPServerRequest; AResponse:THTTPServerResponse):Boolean of Object;
|
Class definitions
Web status specific classes
TWebStatusMain = class(THTTPDocument)
|
TWebStatusSub = class(THTTPDocument)
|
TWebStatusPlatform = class(TWebStatusSub)
|
TWebStatusMemory = class(TWebStatusSub)
|
TWebStatusHeap = class(TWebStatusSub)
|
TWebStatusCPU = class(TWebStatusSub)
|
TWebStatusFPU = class(TWebStatusSub)
|
TWebStatusGPU = class(TWebStatusSub)
|
TWebStatusRTL = class(TWebStatusSub)
|
TWebStatusClock = class(TWebStatusSub)
|
TWebStatusLocale = class(TWebStatusSub)
|
TWebStatusThreading = class(TWebStatusSub)
|
TWebStatusThreadList = class(TWebStatusSub)
|
TWebStatusScheduler = class(TWebStatusSub)
|
TWebStatusDevices = class(TWebStatusSub)
|
TWebStatusDrivers = class(TWebStatusSub)
|
TWebStatusHandles = class(TWebStatusSub)
|
TWebStatusUSB = class(TWebStatusSub)
|
TWebStatusPCI = class(TWebStatusSub)
|
TWebStatusMMC = class(TWebStatusSub)
|
TWebStatusHID = class(TWebStatusSub)
|
TWebStatusNetwork = class(TWebStatusSub)
|
TWebStatusStorage = class(TWebStatusSub)
|
TWebStatusFilesystem = class(TWebStatusSub)
|
TWebStatusCache = class(TWebStatusSub)
|
TWebStatusKeyboard = class(TWebStatusSub)
|
TWebStatusMouse = class(TWebStatusSub)
|
TWebStatusTouch = class(TWebStatusSub)
|
TWebStatusJoystick = class(TWebStatusSub)
|
TWebStatusFramebuffer = class(TWebStatusSub)
|
TWebStatusEnvironment = class(TWebStatusSub)
|
TWebStatusPageTables = class(TWebStatusSub)
|
TWebStatusVectorTables = class(TWebStatusSub)
|
TWebStatusIRQFIQSWI = class(TWebStatusSub)
|
TWebStatusGPIO = class(TWebStatusSub)
|
TWebStatusConfiguration = class(TWebStatusSub)
|
TWebStatusDeviceTree = class(TWebStatusSub)
|
TWebStatusDebug = class(TWebStatusSub)
|
TWebStatusCustom = class(TWebStatusSub)
|
Public variables
Web status specific variables
WEBSTATUS_FONT_NAME:String = 'Arial';
|
WEBSTATUS_HEAP_FREE_COUNT:LongWord = 250;
|
Maximum number of free heap blocks to display |
WEBSTATUS_HEAP_USED_COUNT:LongWord = 250;
|
Maximum number of used heap blocks to display |
WEBSTATUS_ALLOW_RESTART:LongBool = True;
|
If True enable the Restart button on the main page |
WEBSTATUS_ALLOW_SHUTDOWN:LongBool = True;
|
If True enable the Shutdown button on the main page |
Function declarations
Web status functions
function WebStatusRegister(AListener:THTTPListener; const AHost,AURL:String; ARedirect:Boolean):Boolean;
Description: To be documented
Note | None documented |
---|
function WebStatusDeregister(AListener:THTTPListener; const AHost:String):Boolean;
Description: To be documented
Note | None documented |
---|
Web status helper functions
procedure WebStatusDeviceTreeLogOutput(const AText:String; Data:Pointer);
Description: To be documented
Note | None documented |
---|
function WebStatusDeviceEnumerate(Device:PDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusDriverEnumerate(Driver:PDriver; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusHandleEnumerate(Handle:PHandleEntry; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusUSBDeviceEnumerate(Device:PUSBDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusUSBHostEnumerate(Host:PUSBHost; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusUSBDriverEnumerate(Driver:PUSBDriver; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusMMCEnumerate(MMC:PMMCDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
procedure WebStatusUSBLogOutput(const AText:String; Data:Pointer);
Description: To be documented
Note | None documented |
---|
function WebStatusUSBLogDeviceCallback(Device:PUSBDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusUSBLogTreeCallback(Device:PUSBDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusPCIDeviceEnumerate(Device:PPCIDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusPCIHostEnumerate(Host:PPCIHost; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusPCIDriverEnumerate(Driver:PPCIDriver; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusMMCEnumerate(MMC:PMMCDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusSDHCIEnumerate(SDHCI:PSDHCIHost; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusSDIODriverEnumerate(Driver:PSDIODriver; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusHIDDeviceEnumerate(Device:PHIDDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusHIDConsumerEnumerate(Consumer:PHIDConsumer; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusNetworkEnumerate(Network:PNetworkDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusStorageEnumerate(Storage:PStorageDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusMouseEnumerate(Mouse:PMouseDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusTouchEnumerate(Touch:PTouchDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusKeyboardEnumerate(Keyboard:PKeyboardDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusJoystickEnumerate(Joystick:PJoystickDevice; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
function WebStatusConsoleWindowEnumerate(Console:PConsoleDevice; Handle:TWindowHandle; Data:Pointer):LongWord;
Description: To be documented
Note | None documented |
---|
Return to Unit Reference