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 |