Subversion Repositories Kolibri OS

Rev

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

Rev 3618 Rev 3632
Line 18... Line 18...
18
 
18
 
Line 19... Line 19...
19
format binary as ""
19
format binary as ""
Line 20... Line 20...
20
 
20
 
21
; CONFIGURATION
21
; CONFIGURATION
-
 
22
 
22
 
23
TIMEOUT                 = 3             ; in seconds
23
TIMEOUT                 = 60            ; in seconds
24
BUFFER                  = 1024          ; in bytes
Line 24... Line 25...
24
BUFFER                  = 1024          ; in bytes
25
DHCP_TRIES              = 3             ; number of times to try contacting DHCP server
Line 192... Line 193...
192
        mcall   -1
193
        mcall   -1
Line 193... Line 194...
193
 
194
 
Line -... Line 195...
-
 
195
 
-
 
196
try_dhcp:
194
 
197
 
Line 195... Line 198...
195
try_dhcp:
198
        mov     [tries], DHCP_TRIES
196
 
199
 
197
        DEBUGF  1,"->Trying DHCP\n"
200
        DEBUGF  1,"->Trying DHCP\n"
Line 285... Line 288...
285
        mov     [edx+240+27], byte 0xff         ; end of options marker
288
        mov     [edx+240+27], byte 0xff         ; end of options marker
Line 286... Line 289...
286
 
289
 
Line 287... Line 290...
287
        mov     [dhcpMsgLen], dword 268
290
        mov     [dhcpMsgLen], dword 268
-
 
291
 
288
 
292
send_dhcpmsg:
289
send_dhcpmsg:
-
 
290
        mcall   75, 6, [socketNum], [dhcpMsg], [dhcpMsgLen]     ; write to socket ( send broadcast request )
-
 
291
 
-
 
292
        mov     eax, [dhcpMsg]                          ; Setup the DHCP buffer to receive response
-
 
293
        mov     [dhcpMsgLen], eax                       ; Used as a pointer to the data
293
        DEBUGF  1,"Sending DHCP request\n"
Line 294... Line 294...
294
 
294
        mcall   75, 6, [socketNum], [dhcpMsg], [dhcpMsgLen]     ; write to socket ( send broadcast request )
295
        mcall   23, TIMEOUT*10                          ; wait for data
295
        mcall   23, TIMEOUT*100                                 ; wait for data
296
 
-
 
297
read_data:                                              ; we have data - this will be the response
-
 
298
        mcall   75, 7, [socketNum], [dhcpMsg], BUFFER, 0   ; read data from socket
-
 
299
 
296
 
-
 
297
read_data:                                                      ; we have data - this will be the response
-
 
298
        mcall   75, 7, [socketNum], [dhcpMsg], BUFFER, 0        ; read data from socket
300
        DEBUGF  1,"->%d bytes received\n", eax
299
        cmp     eax, -1
-
 
300
        jne     @f
-
 
301
        DEBUGF  1,"No answer from DHCP server\n"
Line -... Line 302...
-
 
302
        dec     [tries]
-
 
303
        jnz     send_dhcpmsg                    ; try again
301
 
304
        jmp     dhcp_error                      ; fail
Line 302... Line 305...
302
        cmp     eax, -1
305
 
303
        je      dhcp_error
306
  @@:
304
 
307
        DEBUGF  1,"->%d bytes received\n", eax
Line 610... Line 613...
610
 
613
 
Line 611... Line 614...
611
IM_END:
614
IM_END:
612
 
615
 
-
 
616
device          db 1
Line 613... Line 617...
613
device          db 1
617
inibuf          rb 16
614
inibuf          rb 16
618
tries           db ?
615
 
619