Subversion Repositories Kolibri OS

Rev

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

Rev 1249 Rev 1251
Line 15... Line 15...
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
 
19
 
20
$Revision: 1249 $
20
$Revision: 1251 $
21
 
21
 
Line 343... Line 343...
343
 
343
 
344
	mov	ecx, [NumARP]
344
	mov	ecx, [NumARP]
345
	test	ecx, ecx
345
	test	ecx, ecx
Line 346... Line 346...
346
	jz	.add
346
	jz	.add
347
 
347
 
348
	mov	eax, dword[esp + ARP_ENTRY.MAC]
348
	mov	eax, dword[esp + 4 + ARP_ENTRY.MAC]
Line 349... Line 349...
349
	mov	bx , word[esp + ARP_ENTRY.MAC + 4]
349
	mov	bx , word[esp + 4 + ARP_ENTRY.MAC + 4]
350
	mov	esi, ARPTable
350
	mov	esi, ARPTable
351
 
351
 
352
.loop:
352
.loop:
353
	cmp	dword [esi + ARP_ENTRY.MAC], eax
353
	cmp	dword [esi + ARP_ENTRY.MAC], eax
Line 354... Line 354...
354
	jne	.maybe_next
354
	jne	.maybe_next
355
	cmp	word [esi + ARP_ENTRY.MAC + 4], bx
355
	cmp	word [esi + ARP_ENTRY.MAC + 4], bx
356
	jne	.maybe_next
356
	jne	.maybe_next
357
 
357
 
358
	cmp	dword[esi + ARP_ENTRY.TTL], 0xFFFF ; static entry
358
	cmp	dword[esi + ARP_ENTRY.TTL], 0xFFFF ; static entry
Line 359... Line 359...
359
	jne	.notstatic
359
	jne	.notstatic
360
	cmp	dword[esp + ARP_ENTRY.TTL], 0xFFFF
360
	cmp	dword[esp + 4 + ARP_ENTRY.TTL], 0xFFFF
Line 384... Line 384...
384
 
384
 
385
	inc	[NumARP]
385
	inc	[NumARP]
Line 386... Line 386...
386
	pop	eax
386
	pop	eax
387
 
-
 
388
.exit:
-
 
389
	pop	ebx    ; return addr
387
 
390
	add	esp, ARP_ENTRY.size
388
.exit:
Line 391... Line 389...
391
	DEBUGF 1,"Exiting\n"
389
	DEBUGF 1,"Exiting\n"
Line 392... Line 390...
392
	jmp	ebx
390
	ret	ARP_ENTRY.size
Line 637... Line 635...
637
	; esi = pointer to buffer
635
	; esi = pointer to buffer
638
	sub	esp, ARP_ENTRY.size
636
	sub	esp, ARP_ENTRY.size
639
	mov	edi, esp
637
	mov	edi, esp
640
	mov	ecx, ARP_ENTRY.size/2
638
	mov	ecx, ARP_ENTRY.size/2
641
	rep	movsw
639
	rep	movsw
642
	jmp	ARP_add_entry	     ;out: eax = entry number, -1 on error
640
	call	ARP_add_entry	     ;out: eax = entry number, -1 on error
-
 
641
	ret
Line 643... Line 642...
643
 
642
 
644
.remove:
643
.remove:
645
	; ecx = # entry
644
	; ecx = # entry
646
	mov	esi, ecx
645
	mov	esi, ecx