Subversion Repositories Kolibri OS

Rev

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

Rev 3348 Rev 3515
Line 14... Line 14...
14
;;          GNU GENERAL PUBLIC LICENSE                             ;;
14
;;          GNU GENERAL PUBLIC LICENSE                             ;;
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
$Revision: 3348 $
19
$Revision: 3515 $
Line 20... Line 20...
20
 
20
 
Line 576... Line 576...
576
        push    ecx eax edx di
576
        push    ecx eax edx di
Line 577... Line 577...
577
 
577
 
578
        cmp     eax, 1 shl 24 + 127
578
        cmp     eax, 1 shl 24 + 127
Line 579... Line 579...
579
        je      .loopback
579
        je      .loopback
580
 
580
 
581
        call    IPv4_dest_to_dev        ; outputs device number in edi, dest ip in eax
581
        call    IPv4_route              ; outputs device number in edi, dest ip in eax
582
        call    ARP_IP_to_MAC
582
        call    ARP_IP_to_MAC
583
        test    eax, 0xffff0000         ; error bits
583
        test    eax, 0xffff0000         ; error bits
584
        jnz     .arp_error
584
        jnz     .arp_error
Line 664... Line 664...
664
        ja      .too_large
664
        ja      .too_large
Line 665... Line 665...
665
 
665
 
666
        sub     esp, 8
666
        sub     esp, 8
Line 667... Line 667...
667
        push    esi eax
667
        push    esi eax
668
 
668
 
Line 669... Line 669...
669
        call    IPv4_dest_to_dev
669
        call    IPv4_route
670
        call    ARP_IP_to_MAC
670
        call    ARP_IP_to_MAC
Line 850... Line 850...
850
 
850
 
851
 
851
 
852
 
852
 
853
;---------------------------------------------------------------------------
853
;---------------------------------------------------------------------------
854
;
854
;
855
; IPv4_dest_to_dev
855
; IPv4_route
856
;
856
;
857
; IN:   eax = Destination IP
857
; IN:   eax = Destination IP
858
; OUT:  edi = device id * 4
858
; OUT:  edi = device id * 4
859
;       eax = ip of gateway if nescessary, unchanged otherwise
859
;       eax = ip of gateway if nescessary, unchanged otherwise
860
;
860
;
Line 861... Line 861...
861
;---------------------------------------------------------------------------
861
;---------------------------------------------------------------------------
862
align 4
862
align 4
Line 863... Line 863...
863
IPv4_dest_to_dev:
863
IPv4_route: