Subversion Repositories Kolibri OS

Rev

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

Rev 3545 Rev 3601
Line 20... Line 20...
20
 
20
 
21
        db     'MENUET01'        ; 8 byte id
21
        db     'MENUET01'       ; 8 byte id
22
        dd     0x01              ; header version
22
        dd     0x01             ; header version
23
        dd     START             ; start of code
23
        dd     START            ; start of code
24
        dd     I_END             ; size of image
24
        dd     I_END            ; size of image
25
        dd     (I_END+0x100)     ; memory for app
25
        dd     (I_END+0x1000)   ; memory for app
26
        dd     (I_END+0x100)     ; esp
26
        dd     (I_END+0x1000)   ; esp
Line 27... Line 27...
27
        dd     I_PARAM , 0x0     ; I_Param , I_Icon
27
        dd     0, 0             ; I_Param , I_Path
28
 
28
 
Line 29... Line 29...
29
include '..\macros.inc'
29
include '..\macros.inc'
Line 36... Line 36...
36
        mcall   12, 1
36
        mcall   12, 1
37
        mcall   0, 100 shl 16 + 600, 100 shl 16 + 240, 0x34bcbcbc, , name       ; draw window
37
        mcall   0, 100 shl 16 + 600, 100 shl 16 + 240, 0x34bcbcbc, , name       ; draw window
Line 38... Line 38...
38
 
38
 
Line -... Line 39...
-
 
39
        call    draw_interfaces
-
 
40
 
-
 
41
        xor     ebx, ebx
-
 
42
        mov     bh, [device]
-
 
43
        mcall   74
39
        call    draw_interfaces
44
        mov     [device_type], eax
40
 
45
 
41
        mov     edx, 101
46
        mov     edx, 101
Line 42... Line 47...
42
        mov     esi, 0x00aaaaff
47
        mov     esi, 0x00aaaaff
43
        mov     edi, 0x00aaffff
48
        mov     edi, 0x00aaffff
44
 
49
 
45
        cmp     dl, [mode]
-
 
46
        cmove   esi, edi
50
        cmp     dl, [mode]
47
        mcall   8, 25 shl 16 + 65, 25 shl 16 + 20
51
        cmove   esi, edi
48
 
52
        mcall   8, 5 shl 16 + 55, 5 shl 16 + 20
49
  .morebuttons:
53
  .morebuttons:
Line 50... Line 54...
50
        inc     edx
54
        inc     edx
51
        add     ebx, 75 shl 16
55
        add     ebx, 60 shl 16
52
        mov     esi, 0x00aaaaff
56
        mov     esi, 0x00aaaaff
Line 53... Line 57...
53
 
57
 
54
        cmp     dl, [mode]
58
        cmp     dl, [mode]
Line 55... Line 59...
55
        cmove   esi, edi
59
        cmove   esi, edi
Line 56... Line 60...
56
        mcall
60
        mcall
57
 
61
 
Line 58... Line 62...
58
        cmp     edx, 105
62
        cmp     edx, 105
59
        jle     .morebuttons
63
        jle     .morebuttons
60
 
64
 
61
        mcall   4, 28 shl 16 + 31, 0x80000000, modes
65
        mcall   4, 8 shl 16 + 11, 0x80000000, modes
62
 
66
 
63
        cmp     [mode], 101
67
        cmp     [mode], 101
64
        jne     .no_eth
68
        jne     .no_eth
65
 
69
 
66
        mcall   4, 20 shl 16 + 75, 0x80000000, str_packets_tx
70
        mcall   4, 8 shl 16 + 35, 0x80000000, str_packets_tx
67
        add     ebx, 18
71
        add     ebx, 18
68
        mov     edx, str_packets_rx
72
        mov     edx, str_packets_rx
69
        mcall
73
        mcall
70
        add     ebx, 18
74
        add     ebx, 18
-
 
75
        mov     edx, str_bytes_tx
-
 
76
        mcall
-
 
77
        add     ebx, 18
-
 
78
        mov     edx, str_bytes_rx
71
        mov     edx, str_bytes_tx
79
        mcall
72
        mcall
80
        add     ebx, 18
73
        add     ebx, 18
81
        mov     edx, str_link
Line 74... Line 82...
74
        mov     edx, str_bytes_rx
82
        mcall
75
        mcall
83
 
76
        add     ebx, 18
84
        cmp     [device_type], 1
77
        mov     edx, str_MAC
85
        jne     end_of_draw
78
        mcall
86
 
Line 79... Line 87...
79
        add     ebx, 18
87
        add     ebx, 18
80
        mov     edx, str_link
88
        mov     edx, str_MAC
81
        mcall
89
        mcall
Line 82... Line 90...
82
 
90
 
Line 83... Line 91...
83
        mov     ebx, API_ETH + 4
91
        mov     ebx, API_ETH
84
        mov     bh, [device]
92
        mov     bh, [device]
Line 85... Line 93...
85
        mcall   76
93
        mcall   76
86
        push    eax
94
        push    eax
87
        push    bx
95
        push    bx
88
 
96
 
89
        mov     edx, 135 shl 16 + 75 + 4*18
97
        mov     edx, 135 shl 16 + 35 + 5*18
90
        call    draw_mac
98
        call    draw_mac
Line 131... Line 139...
131
        dec     bl
139
        dec     bl
132
        dec     bl
140
        dec     bl
133
        mcall   76
141
        mcall   76
134
        push    eax
142
        push    eax
Line 135... Line 143...
135
 
143
 
136
        mov     edx, 135 shl 16 + 75 + 2*18
144
        mov     edx, 135 shl 16 + 35 + 2*18
Line 137... Line 145...
137
        call    draw_ip
145
        call    draw_ip
138
 
146
 
Line 150... Line 158...
150
 .no_ip:
158
 .no_ip:
Line 151... Line 159...
151
 
159
 
152
        cmp     [mode], 103
160
        cmp     [mode], 103
Line 153... Line 161...
153
        jne     .no_arp
161
        jne     .no_arp
154
 
162
 
155
        mcall   4, 20 shl 16 + 75, 0x80000000, str_packets_tx
163
        mcall   4, 8 shl 16 + 35, 0x80000000, str_packets_tx
156
        add     ebx, 18
164
        add     ebx, 18
157
        mov     edx, str_packets_rx
165
        mov     edx, str_packets_rx
158
        mcall
166
        mcall
159
        add     ebx, 18
167
        add     ebx, 18
160
        mov     edx, str_arp
168
        mov     edx, str_arp
161
        mcall
169
        mcall
162
        add     ebx, 18
170
        add     ebx, 18
Line -... Line 171...
-
 
171
        mov     edx, str_conflicts
-
 
172
        mcall
163
        mov     edx, str_conflicts
173
 
Line 164... Line 174...
164
        mcall
174
        mcall   4, 8 shl 16 + 130, 0x80000000, str_ARP_legend
Line 165... Line 175...
165
 
175
 
Line 166... Line 176...
166
        jmp     end_of_draw
176
        jmp     end_of_draw
167
 
177
 
168
 .no_arp:
178
 .no_arp:
Line 194... Line 204...
194
        cmp     [mode], 101
204
        cmp     [mode], 101
195
        jne     not_101
205
        jne     not_101
Line 196... Line 206...
196
 
206
 
197
        mov     ebx, API_ETH
207
        mov     ebx, API_ETH
-
 
208
        mov     bh, [device]
198
        mov     bh, [device]
209
        mov     bl, 6
199
  @@:
210
  @@:
200
        push    ebx
211
        push    ebx
201
        mcall   76
212
        mcall   74
202
        pop     ebx
213
        pop     ebx
203
        push    eax
214
        push    eax
204
        inc     bl
215
        inc     bl
205
        cmp     bl, 3
216
        cmp     bl, 10
206
        jbe     @r
-
 
207
        inc     bl
-
 
208
        mcall   76
-
 
Line 209... Line 217...
209
        push    eax
217
        jbe     @r
210
 
218
 
211
        mov     ebx, 0x000a0000
219
        mov     ebx, 0x000a0000
212
        pop     ecx
220
        pop     ecx
213
        mov     edx, 135 shl 16 + 75 + 5*18
221
        mov     edx, 135 shl 16 + 35 + 4*18
214
        mov     esi, 0x40000000
222
        mov     esi, 0x40000000
Line 215... Line 223...
215
        mov     edi, 0x00bcbcbc
223
        mov     edi, 0x00bcbcbc
216
        mcall   47
224
        mcall   47
217
 
225
 
Line 218... Line 226...
218
        sub     edx, 18*2
226
        sub     edx, 18
219
        pop     ecx
227
        pop     ecx
Line 253... Line 261...
253
        push    eax
261
        push    eax
Line 254... Line 262...
254
 
262
 
255
 
263
 
256
        mov     ebx, 0x000a0000
264
        mov     ebx, 0x000a0000
257
        pop     ecx
265
        pop     ecx
258
        mov     edx, 135 shl 16 + 75 + 18
266
        mov     edx, 135 shl 16 + 35 + 18
259
        mov     esi, 0x40000000
267
        mov     esi, 0x40000000
Line 260... Line 268...
260
        mov     edi, 0x00bcbcbc
268
        mov     edi, 0x00bcbcbc
Line 297... Line 305...
297
        pop     ebx
305
        pop     ebx
298
        push    eax
306
        push    eax
Line 299... Line 307...
299
 
307
 
300
        mov     ebx, 0x000a0000
308
        mov     ebx, 0x000a0000
301
        pop     ecx
309
        pop     ecx
302
        mov     edx, 135 shl 16 + 75 + 3*18
310
        mov     edx, 135 shl 16 + 35 + 3*18
303
        mov     esi, 0x40000000
311
        mov     esi, 0x40000000
304
        mov     edi, 0x00bcbcbc
312
        mov     edi, 0x00bcbcbc
Line 305... Line 313...
305
        mcall   47
313
        mcall   47
Line 314... Line 322...
314
 
322
 
315
        sub     edx, 18
323
        sub     edx, 18
316
        pop     ecx
324
        pop     ecx
Line -... Line 325...
-
 
325
        mcall
-
 
326
 
-
 
327
 
-
 
328
 
-
 
329
        mov     edx, 50 shl 16 + 150
-
 
330
        mov     [last], 0
-
 
331
 
-
 
332
  .arp_loop:
-
 
333
        mov     ebx, API_ARP + 3
-
 
334
        mov     bh, [device]
317
        mcall
335
        mcall   76, , [last],,, arp_buf
-
 
336
        cmp     eax, -1
-
 
337
        je      mainloop
-
 
338
 
-
 
339
        mcall   4, 20 shl 16 + 140, 0x80000000, str_ARP_entry
-
 
340
        mov     edx, ebx
-
 
341
 
-
 
342
        mov     eax, 47
-
 
343
        mov     ebx, 0x00030000
-
 
344
        mov     esi, 0x40000000
-
 
345
        mov     edi, 0x00bcbcbc
-
 
346
        xor     ecx, ecx
-
 
347
 
-
 
348
        mov     cl, byte[arp_buf.IP+0]
-
 
349
        mcall
-
 
350
 
-
 
351
        mov     cl, byte[arp_buf.IP+1]
-
 
352
        add     edx, 24 shl 16
-
 
353
        mcall
-
 
354
 
-
 
355
        mov     cl, byte[arp_buf.IP+2]
-
 
356
        add     edx, 24 shl 16
-
 
357
        mcall
-
 
358
 
-
 
359
        mov     cl, byte[arp_buf.IP+3]
-
 
360
        add     edx, 24 shl 16
-
 
361
        mcall
-
 
362
 
-
 
363
 
-
 
364
        mov     ebx, 0x00020100
-
 
365
        mov     cl, byte[arp_buf.MAC+0]
-
 
366
        add     edx, 36 shl 16
-
 
367
        mcall
-
 
368
 
-
 
369
        mov     cl, byte[arp_buf.MAC+1]
-
 
370
        add     edx, 18 shl 16
-
 
371
        mcall
-
 
372
 
-
 
373
        mov     cl, byte[arp_buf.MAC+2]
-
 
374
        add     edx, 18 shl 16
-
 
375
        mcall
-
 
376
 
-
 
377
        mov     cl, byte[arp_buf.MAC+3]
-
 
378
        add     edx, 18 shl 16
-
 
379
        mcall
-
 
380
 
-
 
381
        mov     cl, byte[arp_buf.MAC+4]
-
 
382
        add     edx, 18 shl 16
-
 
383
        mcall
-
 
384
 
-
 
385
        mov     cl, byte[arp_buf.MAC+5]
-
 
386
        add     edx, 18 shl 16
-
 
387
        mcall
-
 
388
 
-
 
389
        mov     ebx, 0x00040000
-
 
390
        mov     cx, [arp_buf.status]
-
 
391
        add     edx, 30 shl 16
-
 
392
        mcall
-
 
393
 
-
 
394
        mov     cx, [arp_buf.TTL]
-
 
395
        add     edx, 60 shl 16
-
 
396
        mcall
-
 
397
 
-
 
398
        add     dx, 18
-
 
399
        rol     edx, 16
-
 
400
        mov     dx, 8
-
 
401
        rol     edx, 16
-
 
402
        inc     [last]
Line 318... Line 403...
318
 
403
 
Line 319... Line 404...
319
        jmp     mainloop
404
        jmp     .arp_loop
320
 
405
 
Line 336... Line 421...
336
        pop     ebx
421
        pop     ebx
337
        push    eax
422
        push    eax
Line 338... Line 423...
338
 
423
 
339
        mov     ebx, 0x000a0000
424
        mov     ebx, 0x000a0000
340
        pop     ecx
425
        pop     ecx
341
        mov     edx, 135 shl 16 + 75 + 18
426
        mov     edx, 135 shl 16 + 35 + 18
342
        mov     esi, 0x40000000
427
        mov     esi, 0x40000000
343
        mov     edi, 0x00bcbcbc
428
        mov     edi, 0x00bcbcbc
Line 344... Line 429...
344
        mcall   47
429
        mcall   47
Line 367... Line 452...
367
        pop     ebx
452
        pop     ebx
368
        push    eax
453
        push    eax
Line 369... Line 454...
369
 
454
 
370
        mov     ebx, 0x000a0000
455
        mov     ebx, 0x000a0000
371
        pop     ecx
456
        pop     ecx
372
        mov     edx, 135 shl 16 + 75 + 18
457
        mov     edx, 135 shl 16 + 35 + 18
373
        mov     esi, 0x40000000
458
        mov     esi, 0x40000000
374
        mov     edi, 0x00bcbcbc
459
        mov     edi, 0x00bcbcbc
Line 375... Line 460...
375
        mcall   47
460
        mcall   47
Line 410... Line 495...
410
        pop     ebx
495
        pop     ebx
411
        push    eax
496
        push    eax
Line 412... Line 497...
412
 
497
 
413
        mov     ebx, 0x000a0000
498
        mov     ebx, 0x000a0000
414
        pop     ecx
499
        pop     ecx
415
        mov     edx, 135 shl 16 + 75 + 18*3
500
        mov     edx, 135 shl 16 + 35 + 18*3
416
        mov     esi, 0x40000000
501
        mov     esi, 0x40000000
417
        mov     edi, 0x00bcbcbc
502
        mov     edi, 0x00bcbcbc
Line 418... Line 503...
418
        mcall   47
503
        mcall   47
Line 528... Line 613...
528
        ret     4
613
        ret     4
Line 529... Line 614...
529
 
614
 
Line 530... Line 615...
530
 
615
 
531
draw_interfaces:
616
draw_interfaces:
Line 532... Line 617...
532
 
617
 
533
        mov     [.btnpos], 8 shl 16 + 20
618
        mov     [.btnpos], 5 shl 16 + 20
Line 534... Line 619...
534
        mov     [.txtpos], 490 shl 16 + 15
619
        mov     [.txtpos], 455 shl 16 + 12
535
 
620
 
536
        mcall   74, -1          ; get number of active network devices
621
        mcall   74, -1          ; get number of active network devices
537
        mov     ecx, eax
622
        mov     ecx, eax
538
 
623
 
539
        xor     ebx, ebx        ; get device type
624
        xor     ebx, ebx        ; get device type
540
  .loop:
625
  .loop:
541
        mcall   74
626
        mcall   74
Line 551... Line 636...
551
        movzx   edx, bh
636
        movzx   edx, bh
552
        shl     edx, 8
637
        shl     edx, 8
553
        mov     esi, 0x00aaaaff
638
        mov     esi, 0x00aaaaff
554
        cmp     bh, [device]
639
        cmp     bh, [device]
555
        cmove   esi, 0x00aaffff
640
        cmove   esi, 0x00aaffff
556
        mcall   8, 485 shl 16 + 100, [.btnpos]
641
        mcall   8, 450 shl 16 + 135, [.btnpos]
557
        mov     ebx, [esp]
642
        mov     ebx, [esp]
558
        inc     bl
643
        inc     bl
559
        mov     ecx, namebuf
644
        mov     ecx, namebuf
560
        mov     edx, namebuf
645
        mov     edx, namebuf
561
        mcall   74              ; get device name
646
        mcall   74                              ; get device name
Line 585... Line 670...
585
; DATA AREA
670
; DATA AREA
Line 586... Line 671...
586
 
671
 
587
name            db 'Netstat', 0
672
name            db 'Netstat', 0
588
mode            db 101
673
mode            db 101
-
 
674
device          db 0
-
 
675
device_type     dd 0
589
device          db 0
676
last            dd 0
Line 590... Line 677...
590
modes           db 'Ethernet        IPv4        ARP         ICMP         UDP         TCP', 0
677
modes           db 'Physical    IPv4      ARP       ICMP      UDP       TCP', 0
591
 
678
 
592
str_packets_tx  db 'Packets sent:', 0
679
str_packets_tx  db 'Packets sent:', 0
593
str_packets_rx  db 'Packets received:', 0
680
str_packets_rx  db 'Packets received:', 0
Line 603... Line 690...
603
str_unknown     db 'unknown', 0
690
str_unknown     db 'unknown', 0
604
str_missed      db 'Packets missed:',0
691
str_missed      db 'Packets missed:',0
605
str_dumped      db 'Packets dumped:',0
692
str_dumped      db 'Packets dumped:',0
606
str_link        db 'Link state:',0
693
str_link        db 'Link state:',0
Line 607... Line 694...
607
 
694
 
-
 
695
str_ARP_legend  db 'IP-address        MAC-address         Status    TTL', 0
Line 608... Line 696...
608
namebuf         rb 64
696
str_ARP_entry   db '   .   .   .        -  -  -  -  -                    s', 0
-
 
697
 
Line 609... Line 698...
609
 
698
namebuf         rb 64