Rev 425 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 425 | Rev 431 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | $Revision: 425 $ |
1 | $Revision: 431 $ |
2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;; |
- | |
- | 3 | ;; ;; |
|
- | 4 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
|
- | 5 | ;; Distributed under terms of the GNU General Public License ;; |
|
- | 6 | ;; ;; |
|
4 | ;; ICMP.INC |
7 | ;; ICMP.INC ;; |
5 | ;; |
- | |
- | 8 | ;; ;; |
|
6 | ;; Internet Control Message Protocol ( RFC 792 ) |
9 | ;; Internet Control Message Protocol ( RFC 792 ) ;; |
7 | ;; |
- | |
- | 10 | ;; ;; |
|
8 | ;; Last revision: 11.11.2006 |
11 | ;; Last revision: 11.11.2006 ;; |
9 | ;; |
- | |
- | 12 | ;; ;; |
|
10 | ;; This file contains the following: |
13 | ;; This file contains the following: ;; |
11 | ;; icmp_rx - processes ICMP-packets received by the IP layer |
14 | ;; icmp_rx - processes ICMP-packets received by the IP layer ;; |
12 | ;; |
- | |
- | 15 | ;; ;; |
|
13 | ;; Changes history: |
16 | ;; Changes history: ;; |
14 | ;; 22.09.2003 - [Mike Hibbett] : mikeh@oceanfree.net |
17 | ;; 22.09.2003 - [Mike Hibbett] : mikeh@oceanfree.net ;; |
15 | ;; 11.11.2006 - [Johnny_B] and [smb] |
18 | ;; 11.11.2006 - [Johnny_B] and [smb] ;; |
16 | ;; |
- | |
- | 19 | ;; ;; |
|
17 | ;; Current status: |
20 | ;; Current status: ;; |
18 | ;; This implemetation of ICMP proto supports message of ECHO type. |
21 | ;; This implemetation of ICMP proto supports message of ECHO type. |
19 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
22 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 20... | Line 23... | ||
20 | 23 | ||
21 | 24 | ||
22 | struc ICMP_PACKET |
25 | struc ICMP_PACKET |
Line 53... | Line 56... | ||
53 | ; |
56 | ; |
Line 54... | Line 57... | ||
54 | 57 | ||
Line 55... | Line 58... | ||
55 | ICMP_ECHOREPLY equ 0 ; echo reply message |
58 | ICMP_ECHOREPLY equ 0 ; echo reply message |
56 | 59 | ||
57 | ICMP_UNREACH equ 3 |
60 | ICMP_UNREACH equ 3 |
58 | ICMP_UNREACH_NET equ 0 ; bad net |
61 | ICMP_UNREACH_NET equ 0 ; bad net |
59 | ICMP_UNREACH_HOST equ 1 ; bad host |
62 | ICMP_UNREACH_HOST equ 1 ; bad host |
60 | ICMP_UNREACH_PROTOCOL equ 2 ; bad protocol |
63 | ICMP_UNREACH_PROTOCOL equ 2 ; bad protocol |
61 | ICMP_UNREACH_PORT equ 3 ; bad port |
64 | ICMP_UNREACH_PORT equ 3 ; bad port |
62 | ICMP_UNREACH_NEEDFRAG equ 4 ; IP_DF caused drop |
65 | ICMP_UNREACH_NEEDFRAG equ 4 ; IP_DF caused drop |
63 | ICMP_UNREACH_SRCFAIL equ 5 ; src route failed |
66 | ICMP_UNREACH_SRCFAIL equ 5 ; src route failed |
64 | ICMP_UNREACH_NET_UNKNOWN equ 6 ; unknown net |
67 | ICMP_UNREACH_NET_UNKNOWN equ 6 ; unknown net |
65 | ICMP_UNREACH_HOST_UNKNOWN equ 7 ; unknown host |
68 | ICMP_UNREACH_HOST_UNKNOWN equ 7 ; unknown host |
66 | ICMP_UNREACH_ISOLATED equ 8 ; src host isolated |
69 | ICMP_UNREACH_ISOLATED equ 8 ; src host isolated |
67 | ICMP_UNREACH_NET_PROHIB equ 9 ; prohibited access |
70 | ICMP_UNREACH_NET_PROHIB equ 9 ; prohibited access |
68 | ICMP_UNREACH_HOST_PROHIB equ 10 ; ditto |
71 | ICMP_UNREACH_HOST_PROHIB equ 10 ; ditto |
69 | ICMP_UNREACH_TOSNET equ 11 ; bad tos for net |
72 | ICMP_UNREACH_TOSNET equ 11 ; bad tos for net |
70 | ICMP_UNREACH_TOSHOST equ 12 ; bad tos for host |
73 | ICMP_UNREACH_TOSHOST equ 12 ; bad tos for host |
71 | ICMP_UNREACH_FILTER_PROHIB equ 13 ; admin prohib |
74 | ICMP_UNREACH_FILTER_PROHIB equ 13 ; admin prohib |
72 | ICMP_UNREACH_HOST_PRECEDENCE equ 14 ; host prec vio. |
75 | ICMP_UNREACH_HOST_PRECEDENCE equ 14 ; host prec vio. |
73 | ICMP_UNREACH_PRECEDENCE_CUTOFF equ 15 ; prec cutoff |
76 | ICMP_UNREACH_PRECEDENCE_CUTOFF equ 15 ; prec cutoff |
74 | 77 | ||
75 | ICMP_SOURCEQUENCH equ 4 ; packet lost, slow down |
78 | ICMP_SOURCEQUENCH equ 4 ; packet lost, slow down |
76 | 79 | ||
77 | ICMP_REDIRECT equ 5 ; shorter route, codes: |
80 | ICMP_REDIRECT equ 5 ; shorter route, codes: |
78 | ICMP_REDIRECT_NET equ 0 ; for network |
81 | ICMP_REDIRECT_NET equ 0 ; for network |
79 | ICMP_REDIRECT_HOST equ 1 ; for host |
82 | ICMP_REDIRECT_HOST equ 1 ; for host |
80 | ICMP_REDIRECT_TOSNET equ 2 ; for tos and net |
83 | ICMP_REDIRECT_TOSNET equ 2 ; for tos and net |
81 | ICMP_REDIRECT_TOSHOST equ 3 ; for tos and host |
84 | ICMP_REDIRECT_TOSHOST equ 3 ; for tos and host |
82 | 85 | ||
83 | ICMP_ALTHOSTADDR equ 6 ; alternate host address |
86 | ICMP_ALTHOSTADDR equ 6 ; alternate host address |
84 | ICMP_ECHO equ 8 ; echo service |
87 | ICMP_ECHO equ 8 ; echo service |
85 | ICMP_ROUTERADVERT equ 9 ; router advertisement |
88 | ICMP_ROUTERADVERT equ 9 ; router advertisement |
86 | ICMP_ROUTERADVERT_NORMAL equ 0 ; normal advertisement |
89 | ICMP_ROUTERADVERT_NORMAL equ 0 ; normal advertisement |
87 | ICMP_ROUTERADVERT_NOROUTE_COMMON equ 16 ; selective routing |
90 | ICMP_ROUTERADVERT_NOROUTE_COMMON equ 16 ; selective routing |
88 | 91 | ||
89 | ICMP_ROUTERSOLICIT equ 10 ; router solicitation |
92 | ICMP_ROUTERSOLICIT equ 10 ; router solicitation |
90 | ICMP_TIMXCEED equ 11 ; time exceeded, code: |
93 | ICMP_TIMXCEED equ 11 ; time exceeded, code: |
91 | ICMP_TIMXCEED_INTRANS equ 0 ; ttl==0 in transit |
94 | ICMP_TIMXCEED_INTRANS equ 0 ; ttl==0 in transit |
92 | ICMP_TIMXCEED_REASS equ 1 ; ttl==0 in reass |
95 | ICMP_TIMXCEED_REASS equ 1 ; ttl==0 in reass |
93 | 96 | ||
94 | ICMP_PARAMPROB equ 12 ; ip header bad |
97 | ICMP_PARAMPROB equ 12 ; ip header bad |
95 | ICMP_PARAMPROB_ERRATPTR equ 0 ; error at param ptr |
98 | ICMP_PARAMPROB_ERRATPTR equ 0 ; error at param ptr |
96 | ICMP_PARAMPROB_OPTABSENT equ 1 ; req. opt. absent |
99 | ICMP_PARAMPROB_OPTABSENT equ 1 ; req. opt. absent |
97 | ICMP_PARAMPROB_LENGTH equ 2 ; bad length |
100 | ICMP_PARAMPROB_LENGTH equ 2 ; bad length |
98 | 101 | ||
99 | ICMP_TSTAMP equ 13 ; timestamp request |
102 | ICMP_TSTAMP equ 13 ; timestamp request |
100 | ICMP_TSTAMPREPLY equ 14 ; timestamp reply |
103 | ICMP_TSTAMPREPLY equ 14 ; timestamp reply |
101 | ICMP_IREQ equ 15 ; information request |
104 | ICMP_IREQ equ 15 ; information request |
102 | ICMP_IREQREPLY equ 16 ; information reply |
105 | ICMP_IREQREPLY equ 16 ; information reply |
103 | ICMP_MASKREQ equ 17 ; address mask request |
106 | ICMP_MASKREQ equ 17 ; address mask request |
104 | ICMP_MASKREPLY equ 18 ; address mask reply |
107 | ICMP_MASKREPLY equ 18 ; address mask reply |
105 | ICMP_TRACEROUTE equ 30 ; traceroute |
108 | ICMP_TRACEROUTE equ 30 ; traceroute |
106 | ICMP_DATACONVERR equ 31 ; data conversion error |
109 | ICMP_DATACONVERR equ 31 ; data conversion error |
107 | ICMP_MOBILE_REDIRECT equ 32 ; mobile host redirect |
110 | ICMP_MOBILE_REDIRECT equ 32 ; mobile host redirect |
108 | ICMP_IPV6_WHEREAREYOU equ 33 ; IPv6 where-are-you |
111 | ICMP_IPV6_WHEREAREYOU equ 33 ; IPv6 where-are-you |
109 | ICMP_IPV6_IAMHERE equ 34 ; IPv6 i-am-here |
112 | ICMP_IPV6_IAMHERE equ 34 ; IPv6 i-am-here |
110 | ICMP_MOBILE_REGREQUEST equ 35 ; mobile registration req |
113 | ICMP_MOBILE_REGREQUEST equ 35 ; mobile registration req |
111 | ICMP_MOBILE_REGREPLY equ 36 ; mobile registreation reply |
114 | ICMP_MOBILE_REGREPLY equ 36 ; mobile registreation reply |
112 | ICMP_SKIP equ 39 ; SKIP |
115 | ICMP_SKIP equ 39 ; SKIP |
113 | 116 | ||
114 | ICMP_PHOTURIS equ 40 ; Photuris |
117 | ICMP_PHOTURIS equ 40 ; Photuris |
115 | ICMP_PHOTURIS_UNKNOWN_INDEX equ 1 ; unknown sec index |
118 | ICMP_PHOTURIS_UNKNOWN_INDEX equ 1 ; unknown sec index |
Line 116... | Line 119... | ||
116 | ICMP_PHOTURIS_AUTH_FAILED equ 2 ; auth failed |
119 | ICMP_PHOTURIS_AUTH_FAILED equ 2 ; auth failed |
117 | ICMP_PHOTURIS_DECRYPT_FAILED equ 3 ; decrypt failed |
120 | ICMP_PHOTURIS_DECRYPT_FAILED equ 3 ; decrypt failed |
118 | 121 | ||
Line 184... | Line 187... | ||
184 | mov eax, NET1OUT_QUEUE |
187 | mov eax, NET1OUT_QUEUE |
185 | call queue |
188 | call queue |
Line 186... | Line 189... | ||
186 | 189 | ||
187 | .exit: |
190 | .exit: |
188 | ret |
- | |
189 | endp |
191 | ret |
- | 192 | endp |