Difference between revisions of "Unit Protocol"

From Ultibo.org
Jump to: navigation, search
Line 10: Line 10:
 
----
 
----
  
''To be documented''
+
 
 +
<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;">'''Protocol specific constants''' <code> PROTOCOL_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>PROTOCOL_THREAD_NAME = 'Network Protocol';</code>
 +
| Thread name for Network protocol threads
 +
|-
 +
| <code>PROTOCOL_THREAD_PRIORITY = THREAD_PRIORITY_HIGHER;</code>
 +
| Thread priority for Network protocol threads
 +
|-
 +
|}
 +
</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;">'''Protocol Timer constants''' <code> SOCKET_TIMER_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>SOCKET_TIMER_KEY_NONE = TIMER_KEY_NONE;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>SOCKET_TIMER_KEY_MAX = TIMER_KEY_MAX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SOCKET_TIMER_KEY_MIN = TIMER_KEY_MIN;</code>
 +
| &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;">'''ICMP header type constants''' <code> ICMP_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>ICMP_ECHOREPLY = 0;</code>
 +
| echo reply
 +
|-
 +
| <code>ICMP_UNREACH = 3;</code>
 +
| dest unreachable
 +
|-
 +
| <code>ICMP_SOURCEQUENCH = 4;</code>
 +
| packet lost, slow down
 +
|-
 +
| <code>ICMP_REDIRECT = 5;</code>
 +
| shorter route
 +
|-
 +
| <code>ICMP_ECHO = 8;</code>
 +
| echo service
 +
|-
 +
| <code>ICMP_ROUTERADVERT = 9;</code>
 +
| router advertisement
 +
|-
 +
| <code>ICMP_ROUTERSOLICIT = 10;</code>
 +
| router solicitation
 +
|-
 +
| <code>ICMP_TIMXCEED = 11;</code>
 +
| time exceeded
 +
|-
 +
| <code>ICMP_PARAMPROB = 12;</code>
 +
| ip header bad
 +
|-
 +
| <code>ICMP_TSTAMP = 13;</code>
 +
| timestamp request
 +
|-
 +
| <code>ICMP_TSTAMPREPLY = 14;</code>
 +
| timestamp reply
 +
|-
 +
| <code>ICMP_IREQ = 15;</code>
 +
| information request
 +
|-
 +
| <code>ICMP_IREQREPLY = 16;</code>
 +
| information reply
 +
|-
 +
| <code>ICMP_MASKREQ = 17;</code>
 +
| address mask request
 +
|-
 +
| <code>ICMP_MASKREPLY = 18;</code>
 +
| address mask reply
 +
|-
 +
|}
 +
</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;">'''ICMP header code constants''' <code> ICMP_UNREACH_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>ICMP_UNREACH_NET = 0;</code>
 +
| bad net
 +
|-
 +
| <code>ICMP_UNREACH_HOST = 1;</code>
 +
| bad host
 +
|-
 +
| <code>ICMP_UNREACH_PROTOCOL = 2;</code>
 +
| bad protocol
 +
|-
 +
| <code>ICMP_UNREACH_PORT = 3;</code>
 +
| bad port
 +
|-
 +
| <code>ICMP_UNREACH_NEEDFRAG = 4;</code>
 +
| IP_DF caused drop
 +
|-
 +
| <code>ICMP_UNREACH_SRCFAIL = 5;</code>
 +
| src route failed
 +
|-
 +
| <code>ICMP_UNREACH_NET_UNKNOWN = 6;</code>
 +
| unknown net
 +
|-
 +
| <code>ICMP_UNREACH_HOST_UNKNOWN = 7;</code>
 +
| unknown host
 +
|-
 +
| <code>ICMP_UNREACH_ISOLATED = 8;</code>
 +
| src host isolated
 +
|-
 +
| <code>ICMP_UNREACH_NET_PROHIB = 9;</code>
 +
| prohibited access
 +
|-
 +
| <code>ICMP_UNREACH_HOST_PROHIB = 10;</code>
 +
| ditto
 +
|-
 +
| <code>ICMP_UNREACH_TOSNET = 11;</code>
 +
| bad tos for net
 +
|-
 +
| <code>ICMP_UNREACH_TOSHOST = 12;</code>
 +
| bad tos for host
 +
|-
 +
| <code>ICMP_UNREACH_FILTER_PROHIB = 13;</code>
 +
| admin prohib
 +
|-
 +
| <code>ICMP_UNREACH_HOST_PRECEDENCE = 14;</code>
 +
| host prec vio.
 +
|-
 +
| <code>ICMP_UNREACH_PRECEDENCE_CUTOFF = 15;</code>
 +
| prec cutoff
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>ICMP_REDIRECT_NET = 0;</code>
 +
| for network
 +
|-
 +
| <code>ICMP_REDIRECT_HOST = 1;</code>
 +
| for host
 +
|-
 +
| <code>ICMP_REDIRECT_TOSNET = 2;</code>
 +
| for tos and net
 +
|-
 +
| <code>ICMP_REDIRECT_TOSHOST = 3;</code>
 +
| for tos and host
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>ICMP_TIMXCEED_INTRANS  = 0;</code>
 +
| ttl=0 in transit
 +
|-
 +
| <code>ICMP_TIMXCEED_REASS = 1;</code>
 +
| ttl=0 in reassembly
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>ICMP_PARAMPROB_OPTABSENT = 1;</code>
 +
| req. opt. absent
 +
|-
 +
|}
 +
</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;">'''IGMP header type constants''' <code> IGMP_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>IGMP_VERSION = 2;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>IGMP_QUERY = $0011;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IGMP_REPORTV1 = $0012;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IGMP_REPORTV2 = $0016;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IGMP_LEAVE = $0017;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
=== Type definitions ===
 
=== Type definitions ===

Revision as of 00:55, 16 December 2016

Return to Unit Reference


Description


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


To be documented

Public variables


To be documented

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