Subversion Repositories Kolibri OS

Rev

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

Rev 1251 Rev 1257
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: 1251 $
20
$Revision: 1257 $
21
 
21
 
Line 89... Line 89...
89
;
89
;
90
;  IN:  /
90
;  IN:  /
91
;  OUT: /
91
;  OUT: /
92
;
92
;
93
;-----------------------------------------------------------------
93
;-----------------------------------------------------------------
94
 
-
 
95
align 4
94
align 4
96
ARP_init:
95
ARP_init:
Line 97... Line 96...
97
 
96
 
Line 116... Line 115...
116
;  OUT: eax = -1 on error, else eax = first two bytes of mac
115
;  OUT: eax = -1 on error, else eax = first two bytes of mac
117
;                   ( high 16 bits are zero)
116
;                   ( high 16 bits are zero)
118
;       ebx = last four bytes of mac                                  ; TODO: special eax value for 'request send'
117
;       ebx = last four bytes of mac                                  ; TODO: special eax value for 'request send'
119
;
118
;
120
;-----------------------------------------------------------------
119
;-----------------------------------------------------------------
121
 
-
 
122
align 4
120
align 4
123
ARP_IP_to_MAC:
121
ARP_IP_to_MAC:
Line 124... Line 122...
124
 
122
 
Line 200... Line 198...
200
; IN:  ip in eax
198
; IN:  ip in eax
201
;
199
;
202
; OUT: /
200
; OUT: /
203
;
201
;
204
;---------------------------------------------------------------------------
202
;---------------------------------------------------------------------------
205
 
-
 
206
 
-
 
207
align 4
203
align 4
208
ARP_create_request:
204
ARP_create_request:
Line 209... Line 205...
209
 
205
 
Line 264... Line 260...
264
;
260
;
265
; IN: /
261
; IN: /
266
; OUT: /
262
; OUT: /
267
;
263
;
268
;---------------------------------------------------------------------------
264
;---------------------------------------------------------------------------
269
 
-
 
270
align 4
265
align 4
271
ARP_decrease_entry_ttls:
266
ARP_decrease_entry_ttls:
Line 272... Line 267...
272
 
267
 
273
	mov	ecx, [NumARP]
268
	mov	ecx, [NumARP]
Line 318... Line 313...
318
 
313
 
Line 319... Line 314...
319
.exit:
314
.exit:
Line 320... Line 315...
320
 
315
 
321
	ret
316
	ret
322
 
317
 
323
;---------------------------------------------------------------------------
318
;-----------------------------------------------------------------
324
;
319
;
325
; ARP_add_entry (or update)
320
; ARP_add_entry (or update)
Line 330... Line 325...
330
;                         esp+12  .TTL
325
;                         esp+12  .TTL
331
;                         esp+14
326
;                         esp+14
332
;
327
;
333
; OUT: eax = entry #, -1 on error
328
; OUT: eax = entry #, -1 on error
334
;
329
;
335
;---------------------------------------------------------------------------
330
;-----------------------------------------------------------------   ; TODO: use a mutex
336
 
-
 
337
; TODO: use a mutex
-
 
338
 
-
 
339
align 4
331
align 4
340
ARP_add_entry:
332
ARP_add_entry:
Line 341... Line 333...
341
 
333
 
Line 395... Line 387...
395
 
387
 
396
	mov	eax, -1
388
	mov	eax, -1
Line 397... Line 389...
397
	jmp	.exit
389
	jmp	.exit
398
 
390
 
399
 
391
 
400
;---------------------------------------------------------------------------
392
;-----------------------------------------------------------------
401
;
393
;
402
; ARP_del_entry
394
; ARP_del_entry
403
;
395
;
404
; IN: entry # in esi
396
; IN: entry # in esi
405
; OUT: /
-
 
406
;
397
; OUT: /
407
;---------------------------------------------------------------------------
398
;
Line 408... Line 399...
408
 
399
;-----------------------------------------------------------------
Line 432... Line 423...
432
	ret
423
	ret
Line 433... Line 424...
433
 
424
 
434
 
425
 
435
 
426
 
436
 
427
 
437
;-----------------------------------------------------
428
;-----------------------------------------------------------------
438
;
429
;
Line 444... Line 435...
444
;  IN:  Pointer to buffer in [esp]
435
;  IN:  Pointer to buffer in [esp]
445
;       size of buffer in [esp+4]
436
;       size of buffer in [esp+4]
446
;       packet size (without ethernet header) in ecx
437
;       packet size (without ethernet header) in ecx
447
;  OUT: /
438
;  OUT: /
448
;
439
;
449
;-----------------------------------------------------
440
;-----------------------------------------------------------------
450
 
-
 
451
align 4
441
align 4
452
ARP_handler:
442
ARP_handler:
Line 453... Line 443...
453
 
443
 
454
	DEBUGF	1,"ARP_Handler - start\n"
444
	DEBUGF	1,"ARP_Handler - start\n"
Line 563... Line 553...
563
	ret
553
	ret
Line 564... Line 554...
564
 
554
 
565
 
555
 
566
 
556
 
567
 
557
 
568
;---------------------------------------------------------------------------
558
;-----------------------------------------------------------------
569
;
559
;
570
; ARP_API
560
; ARP_API
571
;
561
;
572
; This function is called by system function 75
562
; This function is called by system function 75
573
;
563
;
574
; IN:  subfunction number in bl
564
; IN:  subfunction number in bl
575
;      device number in bh
565
;      device number in bh
576
;      ecx, edx, .. depends on subfunction
566
;      ecx, edx, .. depends on subfunction
577
;
-
 
578
; OUT:
567
;
579
;
568
; OUT:  ?
Line 580... Line 569...
580
;---------------------------------------------------------------------------
569
;
581
 
570
;-----------------------------------------------------------------