forked from KolibriOS/kolibrios
- new cursor and redused cursor sise (static) in mousedrv.inc
- changed GNU.TXT -> COPYING.TXT in russian boot screen - fixed arp request don't working on some machines git-svn-id: svn://kolibrios.org@739 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
da14e74a6d
commit
ff590c086c
@ -10,7 +10,7 @@ $Revision$
|
|||||||
d80x25_bottom:
|
d80x25_bottom:
|
||||||
db 186,' Kolibri OS ®á®¢ Menuet OS ¨ ¥ ¯à¥¤®áâ ¢«ï¥â '
|
db 186,' Kolibri OS ®á®¢ Menuet OS ¨ ¥ ¯à¥¤®áâ ¢«ï¥â '
|
||||||
db '¨ª ª¨å £ àa⨩. ',186
|
db '¨ª ª¨å £ àa⨩. ',186
|
||||||
db 186,' <20>®¤à®¡¥¥ ᬮâà¨â¥ ä ©« GNU.TXT '
|
db 186,' <20>®¤à®¡¥¥ ᬮâà¨â¥ ¢ ä ©«¥ COPYING.TXT '
|
||||||
db ' ',186
|
db ' ',186
|
||||||
line_full_bottom
|
line_full_bottom
|
||||||
d80x25_bottom_num = 3
|
d80x25_bottom_num = 3
|
||||||
|
@ -322,18 +322,18 @@ yes_mouse_disable:
|
|||||||
movzx eax, word [MOUSE_X]
|
movzx eax, word [MOUSE_X]
|
||||||
movzx ebx, word [MOUSE_Y]
|
movzx ebx, word [MOUSE_Y]
|
||||||
mov ecx,[edx+0] ; mouse inside the area ?
|
mov ecx,[edx+0] ; mouse inside the area ?
|
||||||
add eax,14
|
add eax,10
|
||||||
cmp eax,ecx
|
cmp eax,ecx
|
||||||
jb no_mouse_disable
|
jb no_mouse_disable
|
||||||
sub eax,14
|
sub eax,10
|
||||||
add ecx,[edx+8]
|
add ecx,[edx+8]
|
||||||
cmp eax,ecx
|
cmp eax,ecx
|
||||||
jg no_mouse_disable
|
jg no_mouse_disable
|
||||||
mov ecx,[edx+4]
|
mov ecx,[edx+4]
|
||||||
add ebx,20
|
add ebx,14
|
||||||
cmp ebx,ecx
|
cmp ebx,ecx
|
||||||
jb no_mouse_disable
|
jb no_mouse_disable
|
||||||
sub ebx,20
|
sub ebx,14
|
||||||
add ecx,[edx+12]
|
add ecx,[edx+12]
|
||||||
cmp ebx,ecx
|
cmp ebx,ecx
|
||||||
jg no_mouse_disable
|
jg no_mouse_disable
|
||||||
|
@ -343,11 +343,29 @@ proc arp_table_manager stdcall uses ebx esi edi ecx edx,\
|
|||||||
stosd
|
stosd
|
||||||
stosw
|
stosw
|
||||||
|
|
||||||
|
|
||||||
|
; first, check destination IP to see if it is on 'this' network.
|
||||||
|
; The test is:
|
||||||
|
; if ( destIP & subnet_mask == stack_ip & subnet_mask )
|
||||||
|
; destination is local
|
||||||
|
; else
|
||||||
|
; destination is remote, so pass to gateway
|
||||||
|
|
||||||
|
mov eax, [Index] ;eax=required IP
|
||||||
|
mov esi, eax
|
||||||
|
and esi, [subnet_mask]
|
||||||
|
mov ecx, [stack_ip]
|
||||||
|
and ecx, [subnet_mask]
|
||||||
|
cmp esi, ecx
|
||||||
|
je @f ;if we and target IP are located in the same network
|
||||||
|
mov eax, [gateway_ip]
|
||||||
|
mov [Index], eax
|
||||||
|
@@:
|
||||||
|
|
||||||
cmp dword[NumARP], 0
|
cmp dword[NumARP], 0
|
||||||
je .ip_to_mac_send_request ;if ARP-table not contain an entries, we have to request IP.
|
je .ip_to_mac_send_request ;if ARP-table not contain an entries, we have to request IP.
|
||||||
;EAX will be containing a zero, it's equal to ARP_NO_ENTRY
|
;EAX will be containing a zero, it's equal to ARP_NO_ENTRY
|
||||||
|
|
||||||
mov eax, [Index] ;eax=required IP
|
|
||||||
mov ecx, dword[NumARP]
|
mov ecx, dword[NumARP]
|
||||||
imul esi, ecx, ARP_ENTRY_SIZE ;esi=current ARP-table size
|
imul esi, ecx, ARP_ENTRY_SIZE ;esi=current ARP-table size
|
||||||
|
|
||||||
|
@ -281,23 +281,6 @@ local MACAddress dp ? ;allocate 6 bytes in the stack
|
|||||||
cmp edx, 0xffffffff
|
cmp edx, 0xffffffff
|
||||||
je .send ; If it is broadcast, just send
|
je .send ; If it is broadcast, just send
|
||||||
|
|
||||||
; first, check destination IP to see if it is on 'this' network.
|
|
||||||
; The test is:
|
|
||||||
; if ( destIP & subnet_mask == stack_ip & subnet_mask )
|
|
||||||
; destination is local
|
|
||||||
; else
|
|
||||||
; destination is remote, so pass to gateway
|
|
||||||
|
|
||||||
mov eax, edx
|
|
||||||
and eax, [subnet_mask]
|
|
||||||
mov ecx, [stack_ip]
|
|
||||||
and ecx, [subnet_mask]
|
|
||||||
cmp eax, ecx
|
|
||||||
je .local
|
|
||||||
|
|
||||||
mov edx, [gateway_ip]
|
|
||||||
.local:
|
|
||||||
|
|
||||||
lea eax, [MACAddress] ;cause this is local variable
|
lea eax, [MACAddress] ;cause this is local variable
|
||||||
stdcall arp_table_manager, ARP_TABLE_IP_TO_MAC, edx, eax ;opcode,IP,MAC_ptr - Get the MAC address.
|
stdcall arp_table_manager, ARP_TABLE_IP_TO_MAC, edx, eax ;opcode,IP,MAC_ptr - Get the MAC address.
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 766 B |
Loading…
Reference in New Issue
Block a user