Subversion Repositories Kolibri OS

Rev

Rev 5522 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5522 Rev 6011
Line 12... Line 12...
12
;;          GNU GENERAL PUBLIC LICENSE                             ;;
12
;;          GNU GENERAL PUBLIC LICENSE                             ;;
13
;;             Version 2, June 1991                                ;;
13
;;             Version 2, June 1991                                ;;
14
;;                                                                 ;;
14
;;                                                                 ;;
15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 16... Line 16...
16
 
16
 
Line 17... Line 17...
17
$Revision: 5522 $
17
$Revision: 6011 $
Line 18... Line 18...
18
 
18
 
Line 43... Line 43...
43
        .packets_rx     rd NET_DEVICES_MAX
43
        .packets_rx     rd NET_DEVICES_MAX
Line 44... Line 44...
44
 
44
 
Line 45... Line 45...
45
endg
45
endg
46
 
-
 
47
 
46
 
48
;-----------------------------------------------------------------
-
 
49
;
47
 
50
; IPv6_init
-
 
-
 
48
;-----------------------------------------------------------------;
51
;
49
;                                                                 ;
52
;  This function resets all IP variables
50
; ipv6_init: Resets all IPv6 variables                            ;
Line 53... Line 51...
53
;
51
;                                                                 ;
54
;-----------------------------------------------------------------
52
;-----------------------------------------------------------------;
55
macro   IPv6_init {
53
macro   ipv6_init {
56
 
54
 
Line 57... Line 55...
57
        xor     eax, eax
55
        xor     eax, eax
Line 58... Line 56...
58
        mov     edi, IPv6
56
        mov     edi, IPv6
59
        mov     ecx, (4*4*4+2*4)MAX_IP
-
 
60
        rep stosd
57
        mov     ecx, (4*4*4+2*4)MAX_IP
61
 
-
 
62
}
58
        rep stosd
63
 
59
 
64
 
-
 
65
 
60
}
66
;-----------------------------------------------------------------
-
 
-
 
61
 
67
;
62
 
68
; IPv6_input:
63
 
69
;
64
;-----------------------------------------------------------------;
70
;  Will check if IPv6 Packet isnt damaged
65
;                                                                 ;
71
;  and call appropriate handler. (TCP/UDP/ICMP/..)
66
; ipv6_input: Check if IPv6 Packet isnt damaged and call          ;
-
 
67
; appropriate handler. (TCP/UDP/ICMP/..)                          ;
72
;
68
; We will also re-construct fragmented packets                    ;
73
;  It will also re-construct fragmented packets
-
 
-
 
69
;                                                                 ;
74
;
70
;   IN: [esp] = ptr to buffer                                     ;
75
;  IN:  Pointer to buffer in [esp]
71
;       [esp+4] = size of buffer                                  ;
76
;       size of buffer in [esp+4]
72
;       ebx = ptr to device struct                                ;
Line 77... Line 73...
77
;       pointer to device struct in ebx
73
;       edx = ptr to IPv6 header                                  ;
78
;       pointer to IPv6 header in edx
74
;       ecx = size of IPv6 packet                                 ;
79
;       size of IPv6 packet in ecx
75
;                                                                 ;
80
;  OUT: /
76
;  OUT: /                                                         ;
Line 145... Line 141...
145
 
141
 
Line 146... Line 142...
146
        DEBUGF  DEBUG_NETWORK_VERBOSE, "IPv6_input - unknown protocol: %u\n", al
142
        DEBUGF  DEBUG_NETWORK_VERBOSE, "IPv6_input - unknown protocol: %u\n", al
147
 
143
 
148
  .dump:
144
  .dump:
149
        DEBUGF  DEBUG_NETWORK_VERBOSE, "IPv6_input - dumping\n"
145
        DEBUGF  DEBUG_NETWORK_VERBOSE, "IPv6_input - dumping\n"
Line 150... Line 146...
150
        call    NET_BUFF_free
146
        call    net_buff_free
151
        ret
147
        ret
152
 
148
 
Line 243... Line 239...
243
 
239
 
244
 
-
 
245
 
-
 
246
 
-
 
-
 
240
 
247
 
241
 
248
;---------------------------------------------------------------------------
-
 
-
 
242
 
249
;
243
 
250
; IPv6_API
244
;-----------------------------------------------------------------;
251
;
245
;                                                                 ;
252
; This function is called by system function 75
-
 
-
 
246
; ipv6_api: Part of system function 76                            ;
253
;
247
;                                                                 ;
254
; IN:  subfunction number in bl
-
 
-
 
248
;  IN:  bl = subfunction number                                   ;
255
;      device number in bh
249
;       bh = device number                                        ;
256
;      ecx, edx, .. depends on subfunction
250
;       ecx, edx, .. depends on subfunction                       ;
257
;
251
;                                                                 ;
Line 258... Line 252...
258
; OUT:
252
; OUT:  depends on subfunction                                    ;
259
;
253
;                                                                 ;
Line 260... Line 254...
260
;---------------------------------------------------------------------------
254
;-----------------------------------------------------------------;