Difference between revisions of "Unit Protocol"
From Ultibo.org
Line 264: | Line 264: | ||
|} | |} | ||
</div></div> | </div></div> | ||
+ | |||
+ | '''Protocol callback''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TProtocolCallback = function(AProtocol:TNetworkProtocol):Boolean of object;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Filter callback''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFilterCallback = function(AFilter:TNetworkFilter):Boolean of object;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Configuration callback''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TConfigCallback = function(AConfig:TNetworkConfig):Boolean of object; </code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
<br /> | <br /> | ||
Revision as of 04:44, 7 March 2017
Return to Unit Reference
Contents
Description
Ultibo Network Protocol interface unit
To be documented
Constants
Protocol specific constants
PROTOCOL_*
PROTOCOL_THREAD_NAME = 'Network Protocol';
|
Thread name for Network protocol threads |
PROTOCOL_THREAD_PRIORITY = THREAD_PRIORITY_HIGHER;
|
Thread priority for Network protocol threads |
Protocol timer constants
SOCKET_TIMER_*
SOCKET_TIMER_KEY_NONE = TIMER_KEY_NONE;
|
|
SOCKET_TIMER_KEY_MAX = TIMER_KEY_MAX;
|
|
SOCKET_TIMER_KEY_MIN = TIMER_KEY_MIN;
|
ICMP header type constants
ICMP_*
ICMP_ECHOREPLY = 0;
|
echo reply |
ICMP_UNREACH = 3;
|
dest unreachable |
ICMP_SOURCEQUENCH = 4;
|
packet lost, slow down |
ICMP_REDIRECT = 5;
|
shorter route |
ICMP_ECHO = 8;
|
echo service |
ICMP_ROUTERADVERT = 9;
|
router advertisement |
ICMP_ROUTERSOLICIT = 10;
|
router solicitation |
ICMP_TIMXCEED = 11;
|
time exceeded |
ICMP_PARAMPROB = 12;
|
ip header bad |
ICMP_TSTAMP = 13;
|
timestamp request |
ICMP_TSTAMPREPLY = 14;
|
timestamp reply |
ICMP_IREQ = 15;
|
information request |
ICMP_IREQREPLY = 16;
|
information reply |
ICMP_MASKREQ = 17;
|
address mask request |
ICMP_MASKREPLY = 18;
|
address mask reply |
ICMP header code constants
ICMP_UNREACH_*
ICMP_UNREACH_NET = 0;
|
bad net |
ICMP_UNREACH_HOST = 1;
|
bad host |
ICMP_UNREACH_PROTOCOL = 2;
|
bad protocol |
ICMP_UNREACH_PORT = 3;
|
bad port |
ICMP_UNREACH_NEEDFRAG = 4;
|
IP_DF caused drop |
ICMP_UNREACH_SRCFAIL = 5;
|
src route failed |
ICMP_UNREACH_NET_UNKNOWN = 6;
|
unknown net |
ICMP_UNREACH_HOST_UNKNOWN = 7;
|
unknown host |
ICMP_UNREACH_ISOLATED = 8;
|
src host isolated |
ICMP_UNREACH_NET_PROHIB = 9;
|
prohibited access |
ICMP_UNREACH_HOST_PROHIB = 10;
|
ditto |
ICMP_UNREACH_TOSNET = 11;
|
bad tos for net |
ICMP_UNREACH_TOSHOST = 12;
|
bad tos for host |
ICMP_UNREACH_FILTER_PROHIB = 13;
|
admin prohib |
ICMP_UNREACH_HOST_PRECEDENCE = 14;
|
host prec vio. |
ICMP_UNREACH_PRECEDENCE_CUTOFF = 15;
|
prec cutoff |
ICMP_REDIRECT_NET = 0;
|
for network |
ICMP_REDIRECT_HOST = 1;
|
for host |
ICMP_REDIRECT_TOSNET = 2;
|
for tos and net |
ICMP_REDIRECT_TOSHOST = 3;
|
for tos and host |
ICMP_TIMXCEED_INTRANS = 0;
|
ttl=0 in transit |
ICMP_TIMXCEED_REASS = 1;
|
ttl=0 in reassembly |
ICMP_PARAMPROB_OPTABSENT = 1;
|
req. opt. absent |
IGMP header type constants
IGMP_*
IGMP_VERSION = 2;
|
|
IGMP_QUERY = $0011;
|
|
IGMP_REPORTV1 = $0012;
|
|
IGMP_REPORTV2 = $0016;
|
|
IGMP_LEAVE = $0017;
|
Type definitions
Protocol statistics
PProtocolStatistics = ^TProtocolStatistics;
TProtocolStatistics = record
PacketsIn:Int64;
|
|
PacketsOut:Int64;
|
|
BytesIn:Int64;
|
|
BytesOut:Int64;
|
|
ErrorsIn:Int64;
|
|
ErrorsOut:Int64;
|
|
PacketsLost:Int64;
|
Socket timer item
PSocketTimerItem = ^TSocketTimerItem;
TSocketTimerItem = record
Key:Integer;
|
Ordering key for timer list |
Socket:TObject;
|
The socket referenced by this timer list item |
Prev:PSocketTimerItem;
|
Previous item in timer list |
Next:PSocketTimerItem;
|
Next item in timer list |
Protocol callback
TProtocolCallback = function(AProtocol:TNetworkProtocol):Boolean of object;
|
Filter callback
TFilterCallback = function(AFilter:TNetworkFilter):Boolean of object;
|
Configuration callback
TConfigCallback = function(AConfig:TNetworkConfig):Boolean of object;
|
Class definitions
To be documented
Public variables
None defined
Function declarations
Initialization functions
procedure ProtocolInit;
Description: To be documented
Note | None documented |
---|
function ProtocolStart:LongWord;
Description: To be documented
Note | None documented |
---|
function ProtocolStop:LongWord;
Description: To be documented
Note | None documented |
---|
Protocol helper functions
procedure ProtocolCheckTimer(Data:Pointer);
Description: To be documented
Note | None documented |
---|
Return to Unit Reference