Difference between revisions of "Unit Protocol"
From Ultibo.org
								
												
				| Line 10: | Line 10: | ||
----  | ----  | ||
| − | ''  | + | |
| + | <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%;"|   | ||
| + | |-  | ||
| + | | <code>SOCKET_TIMER_KEY_MAX = TIMER_KEY_MAX;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>SOCKET_TIMER_KEY_MIN = TIMER_KEY_MIN;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </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"|   | ||
| + | |-  | ||
| + | | <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"|   | ||
| + | |-  | ||
| + | | <code>ICMP_TIMXCEED_INTRANS  = 0;</code>  | ||
| + | | ttl=0 in transit  | ||
| + | |-  | ||
| + | | <code>ICMP_TIMXCEED_REASS = 1;</code>  | ||
| + | | ttl=0 in reassembly  | ||
| + | |-  | ||
| + | |colspan="2"|   | ||
| + | |-  | ||
| + | | <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%;"|   | ||
| + | |-  | ||
| + | | <code>IGMP_QUERY = $0011;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>IGMP_REPORTV1 = $0012;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>IGMP_REPORTV2 = $0016;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | | <code>IGMP_LEAVE = $0017;</code>  | ||
| + | |    | ||
| + | |-  | ||
| + | |}  | ||
| + | </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