Difference between revisions of "Unit Services"

From Ultibo.org
Jump to: navigation, search
Line 184: Line 184:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
<div style="font-size: 14px; padding-left: 12px;">'''Telnet char''' <code> TELNET_CHAR_* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''Telnet character''' <code> TELNET_CHAR_* </code></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;"
Line 195: Line 195:
 
|-
 
|-
 
| <code>TELNET_CHAR_LF = #10;</code>
 
| <code>TELNET_CHAR_LF = #10;</code>
 +
| &nbsp;
 +
|-
 +
| <code>TELNET_CHAR_BELL = #7;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 210: Line 213:
 
| <code>TELNET_BUFFER_SIZE = SIZE_2K;</code>
 
| <code>TELNET_BUFFER_SIZE = SIZE_2K;</code>
 
| &nbsp;
 
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Telnet escape sequence''' <code> TELNET_SEQUENCE_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>TELNET_SEQUENCE_UP_ARROW = #27#91#65;</code>
 +
| ESC[A
 +
|-
 +
| <code>TELNET_SEQUENCE_DOWN_ARROW = #27#91#66;</code>
 +
| ESC[B
 +
|-
 +
| <code>TELNET_SEQUENCE_RIGHT_ARROW = #27#91#67;</code>
 +
| ESC[C
 +
|-
 +
| <code>TELNET_SEQUENCE_LEFT_ARROW = #27#91#68;</code>
 +
| ESC[D
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>TELNET_SEQUENCE_HOME = #27#91#49#126;</code>
 +
| ESC[1~
 +
|-
 +
| <code>TELNET_SEQUENCE_INSERT = #27#91#50#126;</code>
 +
| ESC[2~
 +
|-
 +
| <code>TELNET_SEQUENCE_DELETE = #27#91#51#126;</code>
 +
| ESC[3~
 +
|-
 +
| <code>TELNET_SEQUENCE_END = #27#91#52#126;</code>
 +
| ESC[4~
 +
|-
 +
| <code>TELNET_SEQUENCE_PGUP = #27#91#53#126;</code>
 +
| ESC[5~
 +
|-
 +
| <code>TELNET_SEQUENCE_PGDN = #27#91#54#126;</code>
 +
| ESC[6~
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>TELNET_SEQUENCE_F1 = #27#91#49#49#126;</code>
 +
| ESC[11~
 +
|-
 +
| <code>TELNET_SEQUENCE_F2 = #27#91#49#50#126;</code>
 +
| ESC[12~
 +
|-
 +
| <code>TELNET_SEQUENCE_F3 = #27#91#49#51#126;</code>
 +
| ESC[13~
 +
|-
 +
| <code>TELNET_SEQUENCE_F4 = #27#91#49#52#126;</code>
 +
| ESC[14~
 +
|-
 +
| <code>TELNET_SEQUENCE_F5 = #27#91#49#53#126;</code>
 +
| ESC[15~
 +
|-
 +
| <code>TELNET_SEQUENCE_F6 = #27#91#49#55#126;</code>
 +
| ESC[17~
 +
|-
 +
| <code>TELNET_SEQUENCE_F7 = #27#91#49#56#126;</code>
 +
| ESC[18~
 +
|-
 +
| <code>TELNET_SEQUENCE_F8 = #27#91#49#57#126;</code>
 +
| ESC[19~
 +
|-
 +
| <code>TELNET_SEQUENCE_F9 = #27#91#50#48#126;</code>
 +
| ESC[20~
 +
|-
 +
| <code>TELNET_SEQUENCE_F10 = #27#91#50#49#126;</code>
 +
| ESC[21~
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Telnet buffer''' <code> TELNET_BUFFER_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>TELNET_BUFFER_SIZE = SIZE_2K;</code>
 +
| style="width: 50%;"|&nbsp;
 
|-
 
|-
 
|}
 
|}
Line 467: Line 553:
 
| <code>SERVICE_LOG_LEVEL_INFO = LOG_LEVEL_INFO;</code>
 
| <code>SERVICE_LOG_LEVEL_INFO = LOG_LEVEL_INFO;</code>
 
| Service informational messages, such as a service being created or destroyed
 
| Service informational messages, such as a service being created or destroyed
 +
|-
 +
| <code>SERVICE_LOG_LEVEL_WARN = LOG_LEVEL_WARN;</code>
 +
| Service warning messages
 
|-
 
|-
 
| <code>SERVICE_LOG_LEVEL_ERROR = LOG_LEVEL_ERROR;</code>
 
| <code>SERVICE_LOG_LEVEL_ERROR = LOG_LEVEL_ERROR;</code>
Line 1,460: Line 1,549:
  
 
<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 ServiceLog(Level:LongWord;const AText:String);</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ServiceLog(Level:LongWord; const AText:String);</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;">procedure ServiceLogInfo(const AText:String); inline;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<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;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 1,472: Line 1,573:
 
<br />
 
<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;">procedure ServiceLogInfo(const AText:String);</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ServiceLogWarn(const AText:String); inline;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<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;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 1,484: Line 1,585:
 
<br />
 
<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;">procedure ServiceLogError(const AText:String);</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ServiceLogError(const AText:String); inline;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<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;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 1,496: Line 1,597:
 
<br />
 
<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;">procedure ServiceLogDebug(const AText:String);</pre>
+
<pre style="border: 0; padding-bottom:0px;">procedure ServiceLogDebug(const AText:String); inline;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<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;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">

Revision as of 00:03, 27 March 2018

Return to Unit Reference


Description


Ultibo Services interface unit

To be documented

Constants



[Expand]
NTP specific constants NTP_*


[Expand]
NTP leap indicator NTP_LEAP_*


[Expand]
NTP mode NTP_MODE_*


[Expand]
NTP stratum NTP_STRATUM_*


[Expand]
Telnet character TELNET_CHAR_*


[Expand]
Telnet escape sequence TELNET_SEQUENCE_*


[Expand]
Telnet buffer TELNET_BUFFER_*


[Expand]
Telnet state TELNET_STATE_*


[Expand]
Telnet command TELNET_COMMAND_*


[Expand]
Telnet option TELNET_OPTION_*


[Expand]
SysLog logging SYSLOG_LOGGING_*


[Expand]
SysLog facility code SYSLOG_FACILITY_*


[Expand]
SysLog severity code SYSLOG_SEVERITY_*


[Expand]
Service logging SERVICE_LOG_*


Type definitions



NTP short

[Expand]

PNTPShort = ^TNTPShort;

TNTPShort = packed record

NTP timestamp

[Expand]

PNTPTimestamp = ^TNTPTimestamp;

TNTPTimestamp = packed record

NTP date format

[Expand]

PNTPDate = ^TNTPDate;

TNTPDate = packed record

NTP packet

[Expand]

PNTPPacket = ^TNTPPacket;

TNTPPacket = packed record

Syslog logging

[Expand]

PSyslogLogging = ^TSyslogLogging;

TSyslogLogging = record

Telnet host event

TTelnetHostEvent = function(AConnection:TTelnetConnection):Boolean of Object;

Telnet count event

TTelnetCountEvent = function(AConnection:TTelnetConnection):Boolean of Object;

Telnet initialize event

TTelnetInitEvent = function(AConnection:TTelnetConnection):Boolean of Object;

Telnet character event

TTelnetCharEvent = function(AConnection:TTelnetConnection; AChar:Char):Boolean of Object;

Telnet command event

TTelnetCommandEvent = function(AConnection:TTelnetConnection; ACommand,AOption:Byte; AData:Pointer; ASize:LongWord):Boolean of Object;

Telnet connection event

TTelnetConnectionEvent = procedure(AConnection:TTelnetConnection) of Object;


Class definitions



Ping client

[Expand]

TPingClient = class(TWinsock2RAWClient)

NTP client

[Expand]

TNTPClient = class(TWinsock2UDPClient)

Telnet buffer

[Expand]

TTelnetBuffer = class(TObject)

Telnet connection

[Expand]

TTelnetConnection = class(TListObject)

Telnet listener

[Expand]

TTelnetListener = class(TWinsock2TCPListener)

SysLog client

[Expand]

TSyslogClient = class(TObject)


Public variables



Service logging

SERVICE_DEFAULT_LOG_LEVEL:LongWord = SERVICE_LOG_LEVEL_DEBUG; Minimum level for Service messages. Only messages with level greater than or equal to this will be printed.
SERVICE_LOG_ENABLED:Boolean;


Function declarations



Initialization functions

[Expand]
procedure ServicesInit;
Description: To be documented


NTP functions

[Expand]
procedure NTPUpdateTime(Client:TNTPClient);
Description: To be documented


SysLog functions

[Expand]
function SysLogLoggingStart(Logging:PLoggingDevice):LongWord;
Description: To be documented


[Expand]
function SysLogLoggingStop(Logging:PLoggingDevice):LongWord;
Description: To be documented


[Expand]
function SysLogLoggingOutput(Logging:PLoggingDevice; const Data:String):LongWord;
Description: To be documented


[Expand]
function SysLogLoggingOutputEx(Logging:PLoggingDevice; Facility,Severity:LongWord; const Tag,Content:String):LongWord;
Description: To be documented


[Expand]
function SysLogLoggingGetTarget(Logging:PLoggingDevice):String;
Description: To be documented


[Expand]
function SysLogLoggingSetTarget(Logging:PLoggingDevice; const Target:String):LongWord;
Description: To be documented


Service helper functions

[Expand]
procedure ServiceLog(Level:LongWord; const AText:String);
Description: To be documented


[Expand]
procedure ServiceLogInfo(const AText:String); inline;
Description: To be documented


[Expand]
procedure ServiceLogWarn(const AText:String); inline;
Description: To be documented


[Expand]
procedure ServiceLogError(const AText:String); inline;
Description: To be documented


[Expand]
procedure ServiceLogDebug(const AText:String); inline;
Description: To be documented


NTP helper functions

[Expand]
function NTPTimestampToHost(const Timestamp:TNTPTimestamp):TNTPTimestamp;
Description: Convert an NTP Timestamp to Host order


[Expand]
function NTPTimestampToNetwork(const Timestamp:TNTPTimestamp):TNTPTimestamp;
Description: Convert an NTP Timestamp to Network order


[Expand]
function NTPTimestampAdd(const Timestamp1,Timestamp2:TNTPTimestamp):TNTPTimestamp;
Description: To be documented


[Expand]
function NTPTimestampSubtract(const Timestamp1,Timestamp2:TNTPTimestamp):TNTPTimestamp;
Description: To be documented


[Expand]
function ClockTimeToNTPTimestamp(const Time:Int64):TNTPTimestamp;
Description: To be documented


[Expand]
function NTPTimestampToClockTime(const Timestamp:TNTPTimestamp):Int64;
Description: To be documented


Telnet helper functions

[Expand]
function TelnetCommandToString(Command:Byte):String;
Description: To be documented


[Expand]
function TelnetCommandHasOption(Command:Byte):Boolean;
Description: To be documented


[Expand]
function TelnetOptionToString(Option:Byte):String;
Description: To be documented


SysLog helper functions

[Expand]
function FileTimeToSysLogDateTime(const AFileTime:TFileTime):String;
Description: To be documented


[Expand]
function LoggingFacilityToSysLogFacility(Facility:LongWord):LongWord;
Description: To be documented


[Expand]
function LoggingSeverityToSysLogSeverity(Severity:LongWord):LongWord;
Description: To be documented


Return to Unit Reference