Subversion Repositories Kolibri OS

Rev

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

Rev 5842 Rev 6123
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                                 ;;
2
;;                                                                 ;;
3
;; Copyright (C) KolibriOS team 2010-2015. All rights reserved.    ;;
3
;; Copyright (C) KolibriOS team 2010-2016. All rights reserved.    ;;
4
;; Distributed under terms of the GNU General Public License       ;;
4
;; Distributed under terms of the GNU General Public License       ;;
5
;;                                                                 ;;
5
;;                                                                 ;;
6
;;  zeroconfig.asm - Zeroconfig service for KolibriOS              ;;
6
;;  zeroconfig.asm - Zeroconfig service for KolibriOS              ;;
7
;;                                                                 ;;
7
;;                                                                 ;;
8
;;  Written by hidnplayr@kolibrios.org                             ;;
8
;;  Written by hidnplayr@kolibrios.org                             ;;
Line 417... Line 417...
417
        mcall   26, 9
417
        mcall   26, 9
418
        mov     ebx, eax
418
        mov     ebx, eax
419
        sub     ebx, [ebp + interface.timeout]
419
        sub     ebx, [ebp + interface.timeout]
420
        ja      send_dhcp_packet.wait
420
        ja      send_dhcp_packet.wait
Line 421... Line 421...
421
 
421
 
422
        DEBUGF  2, "No answer from DHCP server\n"
422
        DEBUGF  1, "No answer from DHCP server\n"
423
        dec     [ebp + interface.tries]
423
        dec     [ebp + interface.tries]
424
        jnz     send_dhcp_packet
424
        jnz     send_dhcp_packet
Line 425... Line 425...
425
        jmp     dhcp_fail
425
        jmp     dhcp_fail
Line 456... Line 456...
456
request_sent:
456
request_sent:
457
        call    parse_dhcp_reply
457
        call    parse_dhcp_reply
458
        cmp     [rx_msg_type], 5                ; Was the response an ACK? It should be
458
        cmp     [rx_msg_type], 5                ; Was the response an ACK? It should be
459
        jne     read_packet                     ; NO - read next packets
459
        jne     read_packet                     ; NO - read next packets
Line 460... Line 460...
460
 
460
 
-
 
461
        DEBUGF  2, "IP address %u.%u.%u.%u assigned to network interface %u by DHCP\n",\
Line 461... Line 462...
461
        DEBUGF  2, "IP assigned by DHCP server successfully\n"
462
        [ebp+interface.ip+0]:1, [ebp+interface.ip+1]:1, [ebp+interface.ip+2]:1, [ebp+interface.ip+3]:1, [ebp + interface.number]:1
Line 462... Line 463...
462
 
463
 
463
        mcall   close, [ebp + interface.socketNum]
464
        mcall   close, [ebp + interface.socketNum]
Line 593... Line 594...
593
 
594
 
594
dhcp_fail:
595
dhcp_fail:
Line 595... Line 596...
595
        mcall   close, [ebp + interface.socketNum]
596
        mcall   close, [ebp + interface.socketNum]
596
 
597
 
597
dhcp_error:
598
dhcp_error:
598
        DEBUGF  1, "DHCP failed\n"
599
        DEBUGF  2, "DHCP failed\n"
Line 599... Line 600...
599
        cmp     [ebp + interface.mode], 3               ; zero config mode?
600
        cmp     [ebp + interface.mode], 3               ; zero config mode?
Line 608... Line 609...
608
        shl     ecx, 16
609
        shl     ecx, 16
609
        mov     cx, 0xfea9                              ; IP 169.254.0.0 link local net, see RFC3927
610
        mov     cx, 0xfea9                              ; IP 169.254.0.0 link local net, see RFC3927
610
        mov     ebx, API_IPv4 + 3
611
        mov     ebx, API_IPv4 + 3
611
        mov     bh, byte[ebp + interface.number]
612
        mov     bh, byte[ebp + interface.number]
612
        mcall   76, , ecx                               ; mask is 255.255.0.0
613
        mcall   76, , ecx                               ; mask is 255.255.0.0
613
        DEBUGF  2, "Link Local IP assigned: 169.254.%u.%u\n", [generator+0]:1, [generator+1]:1
614
        DEBUGF  2, "IP address 169.254.%u.%u assigned to network interface %u through Link-Local\n",\
-
 
615
        [generator+0]:1, [generator+1]:1, [ebp + interface.number]:1
614
        mov     bl, 7
616
        mov     bl, 7
615
        mcall   76, , 0xffff
617
        mcall   76, , 0xffff
616
        mov     bl, 9
618
        mov     bl, 9
617
        mcall   76, , 0x0
619
        mcall   76, , 0x0
618
        mov     bl, 5
620
        mov     bl, 5