Subversion Repositories Kolibri OS

Rev

Rev 2308 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2308 Rev 2310
Line 15... Line 15...
15
;;             Version 2, June 1991                                ;;
15
;;             Version 2, June 1991                                ;;
16
;;                                                                 ;;
16
;;                                                                 ;;
17
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
17
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 18... Line 18...
18
 
18
 
Line 19... Line 19...
19
 
19
 
Line 20... Line 20...
20
$Revision: 2308 $
20
$Revision: 2310 $
Line 131... Line 131...
131
;
131
;
132
;  IN:  Pointer to buffer in [esp]
132
;  IN:  Pointer to buffer in [esp]
133
;       size of buffer in [esp+4]
133
;       size of buffer in [esp+4]
134
;       ebx = pointer to device struct
134
;       ebx = pointer to device struct
135
;       ecx = ICMP Packet size
135
;       ecx = ICMP Packet size
136
;       edx = ptr to ICMP Packet data
136
;       esi = ptr to ICMP Packet data
137
;       edi = ptr to ipv4 source and dest address
137
;       edi = ptr to ipv4 source and dest address
138
;
138
;
139
;  OUT: /
139
;  OUT: /
140
;
140
;
141
;-----------------------------------------------------------------
141
;-----------------------------------------------------------------
Line 144... Line 144...
144
 
144
 
Line 145... Line 145...
145
        DEBUGF  1,"ICMP_input - start\n"
145
        DEBUGF  1,"ICMP_input - start\n"
Line 146... Line 146...
146
 
146
 
147
; First, check the checksum (altough some implementations ignore it)
147
; First, check the checksum (altough some implementations ignore it)
148
 
148
 
149
        push    edx ecx
-
 
150
        push    [edx + ICMP_header.Checksum]
149
        push    esi ecx
151
        mov     [edx + ICMP_header.Checksum], 0
150
        push    [edx + ICMP_header.Checksum]
152
        mov     esi, edx
151
        mov     [edx + ICMP_header.Checksum], 0
153
        xor     edx, edx
152
        xor     edx, edx
154
        call    checksum_1
153
        call    checksum_1