forked from KolibriOS/kolibrios
Style corrected for new rules, no semantic changes
git-svn-id: svn://kolibrios.org@2288 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,297 +1,298 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
;Loading configuration from ini file
|
||||
; {SPraid.simba}
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
$Revision$
|
||||
|
||||
iglobal
|
||||
conf_path_sect: db 'path',0
|
||||
|
||||
conf_fname db '/sys/sys.conf',0
|
||||
endg
|
||||
; set soke kernel configuration
|
||||
proc set_kernel_conf
|
||||
locals
|
||||
par db 30 dup(?)
|
||||
endl
|
||||
|
||||
pushad
|
||||
;[gui]
|
||||
;mouse_speed
|
||||
|
||||
lea eax,[par]
|
||||
push eax
|
||||
invoke ini.get_str,conf_fname, ugui, ugui_mouse_speed,\
|
||||
eax,30, ugui_mouse_speed_def
|
||||
pop eax
|
||||
stdcall strtoint,eax
|
||||
mov [mouse_speed_factor], ax
|
||||
|
||||
;mouse_delay
|
||||
lea eax,[par]
|
||||
push eax
|
||||
invoke ini.get_str,conf_fname, ugui, ugui_mouse_delay,\
|
||||
eax,30, ugui_mouse_delay_def
|
||||
pop eax
|
||||
stdcall strtoint,eax
|
||||
mov [mouse_delay], eax
|
||||
|
||||
|
||||
;midibase
|
||||
lea eax,[par]
|
||||
push eax
|
||||
invoke ini.get_str,conf_fname, udev, udev_midibase, eax,30, udev_midibase_def
|
||||
pop eax
|
||||
stdcall strtoint,eax
|
||||
|
||||
cmp eax, 0x100
|
||||
jb @f
|
||||
cmp eax, 0x10000
|
||||
jae @f
|
||||
mov [midi_base], ax
|
||||
mov [mididp], eax
|
||||
inc eax
|
||||
mov [midisp], eax
|
||||
@@:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
iglobal
|
||||
ugui db 'gui',0
|
||||
ugui_mouse_speed db 'mouse_speed',0
|
||||
ugui_mouse_speed_def db '2',0
|
||||
ugui_mouse_delay db 'mouse_delay',0
|
||||
ugui_mouse_delay_def db '0x00A',0
|
||||
|
||||
udev db 'dev',0
|
||||
udev_midibase db 'midibase',0
|
||||
udev_midibase_def db '0x320',0
|
||||
endg
|
||||
;set up netvork configuration
|
||||
proc set_network_conf
|
||||
locals
|
||||
par db 30 dup(?)
|
||||
endl
|
||||
pushad
|
||||
|
||||
;[net]
|
||||
;active
|
||||
lea eax,[par]
|
||||
invoke ini.get_int,conf_fname, unet, unet_active, 0
|
||||
or eax,eax
|
||||
jz .do_not_set_net
|
||||
mov eax, [stack_config]
|
||||
and eax, 0xFFFFFF80
|
||||
add eax, 3
|
||||
mov [stack_config], eax
|
||||
call ash_eth_enable
|
||||
|
||||
;addr
|
||||
lea eax,[par]
|
||||
push eax
|
||||
invoke ini.get_str,conf_fname, unet, unet_addr, eax,30, unet_def
|
||||
pop eax
|
||||
stdcall do_inet_adr,eax
|
||||
mov [stack_ip], eax
|
||||
|
||||
;mask
|
||||
lea eax,[par]
|
||||
push eax
|
||||
invoke ini.get_str,conf_fname, unet, unet_mask, eax,30, unet_def
|
||||
pop eax
|
||||
stdcall do_inet_adr,eax
|
||||
mov [subnet_mask], eax
|
||||
|
||||
;gate
|
||||
lea eax,[par]
|
||||
push eax
|
||||
invoke ini.get_str,conf_fname, unet, unet_gate, eax,30, unet_def
|
||||
pop eax
|
||||
stdcall do_inet_adr,eax
|
||||
mov [gateway_ip], eax
|
||||
.do_not_set_net:
|
||||
popad
|
||||
ret
|
||||
|
||||
|
||||
endp
|
||||
iglobal
|
||||
unet db 'net',0
|
||||
unet_active db 'active',0
|
||||
unet_addr db 'addr',0
|
||||
unet_mask db 'mask',0
|
||||
unet_gate db 'gate',0
|
||||
unet_def db 0
|
||||
endg
|
||||
; convert string to DWord
|
||||
proc strtoint stdcall,strs
|
||||
pushad
|
||||
|
||||
mov eax,[strs]
|
||||
inc eax
|
||||
mov bl,[eax]
|
||||
cmp bl,'x'
|
||||
je .hex
|
||||
cmp bl,'X'
|
||||
je .hex
|
||||
jmp .dec
|
||||
.hex:
|
||||
inc eax
|
||||
stdcall strtoint_hex,eax
|
||||
jmp .exit
|
||||
.dec:
|
||||
dec eax
|
||||
stdcall strtoint_dec,eax
|
||||
.exit:
|
||||
mov [esp+28],eax
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
; convert string to DWord for decimal value
|
||||
proc strtoint_dec stdcall,strs
|
||||
pushad
|
||||
xor edx,edx
|
||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi,[strs]
|
||||
@@:
|
||||
lodsb
|
||||
or al,al
|
||||
jnz @b
|
||||
mov ebx,esi
|
||||
mov esi,[strs]
|
||||
dec ebx
|
||||
sub ebx,esi
|
||||
mov ecx,1
|
||||
|
||||
@@:
|
||||
dec ebx
|
||||
or ebx,ebx
|
||||
jz @f
|
||||
imul ecx,ecx,10 ; <EFBFBD><EFBFBD><EFBFBD>冷<EFBFBD>
|
||||
jmp @b
|
||||
@@:
|
||||
|
||||
xchg ebx,ecx
|
||||
|
||||
|
||||
xor ecx,ecx
|
||||
|
||||
|
||||
@@:
|
||||
xor eax,eax
|
||||
lodsb
|
||||
cmp al,0
|
||||
je .eend
|
||||
|
||||
sub al,30h
|
||||
imul ebx
|
||||
add ecx,eax
|
||||
push ecx
|
||||
xchg eax,ebx
|
||||
mov ecx,10
|
||||
div ecx
|
||||
xchg eax,ebx
|
||||
pop ecx
|
||||
jmp @b
|
||||
|
||||
.eend:
|
||||
mov [esp+28],ecx
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;convert string to DWord for hex value
|
||||
proc strtoint_hex stdcall,strs
|
||||
pushad
|
||||
xor edx,edx
|
||||
|
||||
mov esi,[strs]
|
||||
mov ebx,1
|
||||
add esi,1
|
||||
|
||||
@@:
|
||||
lodsb
|
||||
or al,al
|
||||
jz @f
|
||||
shl ebx,4
|
||||
jmp @b
|
||||
@@:
|
||||
xor ecx,ecx
|
||||
mov esi,[strs]
|
||||
|
||||
@@:
|
||||
xor eax,eax
|
||||
lodsb
|
||||
cmp al,0
|
||||
je .eend
|
||||
|
||||
cmp al,'a'
|
||||
jae .bm
|
||||
cmp al,'A'
|
||||
jae .bb
|
||||
jmp .cc
|
||||
.bm: ; 57h
|
||||
sub al,57h
|
||||
jmp .do
|
||||
|
||||
.bb: ; 37h
|
||||
sub al,37h
|
||||
jmp .do
|
||||
|
||||
.cc: ; 30h
|
||||
sub al,30h
|
||||
|
||||
.do:
|
||||
imul ebx
|
||||
add ecx,eax
|
||||
shr ebx,4
|
||||
|
||||
jmp @b
|
||||
|
||||
.eend:
|
||||
mov [esp+28],ecx
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
|
||||
; convert string to DWord for IP addres
|
||||
proc do_inet_adr stdcall,strs
|
||||
pushad
|
||||
|
||||
mov esi,[strs]
|
||||
mov ebx,0
|
||||
.next:
|
||||
push esi
|
||||
@@:
|
||||
lodsb
|
||||
or al,al
|
||||
jz @f
|
||||
cmp al,'.'
|
||||
jz @f
|
||||
jmp @b
|
||||
@@:
|
||||
mov cl, al
|
||||
mov [esi-1],byte 0
|
||||
;pop eax
|
||||
call strtoint_dec
|
||||
rol eax,24
|
||||
ror ebx,8
|
||||
add ebx,eax
|
||||
or cl,cl
|
||||
jz @f
|
||||
jmp .next
|
||||
@@:
|
||||
mov [esp+28],ebx
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;-------------------------------------------------------------------------
|
||||
;Loading configuration from ini file
|
||||
; {SPraid.simba}
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
$Revision$
|
||||
|
||||
iglobal
|
||||
conf_path_sect:
|
||||
db 'path',0
|
||||
|
||||
conf_fname db '/sys/sys.conf',0
|
||||
endg
|
||||
; set soke kernel configuration
|
||||
proc set_kernel_conf
|
||||
locals
|
||||
par db 30 dup(?)
|
||||
endl
|
||||
|
||||
pushad
|
||||
;[gui]
|
||||
;mouse_speed
|
||||
|
||||
lea eax, [par]
|
||||
push eax
|
||||
invoke ini.get_str, conf_fname, ugui, ugui_mouse_speed, \
|
||||
eax,30, ugui_mouse_speed_def
|
||||
pop eax
|
||||
stdcall strtoint, eax
|
||||
mov [mouse_speed_factor], ax
|
||||
|
||||
;mouse_delay
|
||||
lea eax, [par]
|
||||
push eax
|
||||
invoke ini.get_str, conf_fname, ugui, ugui_mouse_delay, \
|
||||
eax,30, ugui_mouse_delay_def
|
||||
pop eax
|
||||
stdcall strtoint, eax
|
||||
mov [mouse_delay], eax
|
||||
|
||||
|
||||
;midibase
|
||||
lea eax, [par]
|
||||
push eax
|
||||
invoke ini.get_str, conf_fname, udev, udev_midibase, eax, 30, udev_midibase_def
|
||||
pop eax
|
||||
stdcall strtoint, eax
|
||||
|
||||
cmp eax, 0x100
|
||||
jb @f
|
||||
cmp eax, 0x10000
|
||||
jae @f
|
||||
mov [midi_base], ax
|
||||
mov [mididp], eax
|
||||
inc eax
|
||||
mov [midisp], eax
|
||||
@@:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
iglobal
|
||||
ugui db 'gui',0
|
||||
ugui_mouse_speed db 'mouse_speed',0
|
||||
ugui_mouse_speed_def db '2',0
|
||||
ugui_mouse_delay db 'mouse_delay',0
|
||||
ugui_mouse_delay_def db '0x00A',0
|
||||
|
||||
udev db 'dev',0
|
||||
udev_midibase db 'midibase',0
|
||||
udev_midibase_def db '0x320',0
|
||||
endg
|
||||
;set up netvork configuration
|
||||
proc set_network_conf
|
||||
locals
|
||||
par db 30 dup(?)
|
||||
endl
|
||||
pushad
|
||||
|
||||
;[net]
|
||||
;active
|
||||
lea eax, [par]
|
||||
invoke ini.get_int, conf_fname, unet, unet_active, 0
|
||||
or eax, eax
|
||||
jz .do_not_set_net
|
||||
mov eax, [stack_config]
|
||||
and eax, 0xFFFFFF80
|
||||
add eax, 3
|
||||
mov [stack_config], eax
|
||||
call ash_eth_enable
|
||||
|
||||
;addr
|
||||
lea eax, [par]
|
||||
push eax
|
||||
invoke ini.get_str, conf_fname, unet, unet_addr, eax, 30, unet_def
|
||||
pop eax
|
||||
stdcall do_inet_adr, eax
|
||||
mov [stack_ip], eax
|
||||
|
||||
;mask
|
||||
lea eax, [par]
|
||||
push eax
|
||||
invoke ini.get_str, conf_fname, unet, unet_mask, eax, 30, unet_def
|
||||
pop eax
|
||||
stdcall do_inet_adr, eax
|
||||
mov [subnet_mask], eax
|
||||
|
||||
;gate
|
||||
lea eax, [par]
|
||||
push eax
|
||||
invoke ini.get_str, conf_fname, unet, unet_gate, eax, 30, unet_def
|
||||
pop eax
|
||||
stdcall do_inet_adr, eax
|
||||
mov [gateway_ip], eax
|
||||
.do_not_set_net:
|
||||
popad
|
||||
ret
|
||||
|
||||
|
||||
endp
|
||||
iglobal
|
||||
unet db 'net',0
|
||||
unet_active db 'active',0
|
||||
unet_addr db 'addr',0
|
||||
unet_mask db 'mask',0
|
||||
unet_gate db 'gate',0
|
||||
unet_def db 0
|
||||
endg
|
||||
; convert string to DWord
|
||||
proc strtoint stdcall,strs
|
||||
pushad
|
||||
|
||||
mov eax, [strs]
|
||||
inc eax
|
||||
mov bl, [eax]
|
||||
cmp bl, 'x'
|
||||
je .hex
|
||||
cmp bl, 'X'
|
||||
je .hex
|
||||
jmp .dec
|
||||
.hex:
|
||||
inc eax
|
||||
stdcall strtoint_hex, eax
|
||||
jmp .exit
|
||||
.dec:
|
||||
dec eax
|
||||
stdcall strtoint_dec, eax
|
||||
.exit:
|
||||
mov [esp+28], eax
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
; convert string to DWord for decimal value
|
||||
proc strtoint_dec stdcall,strs
|
||||
pushad
|
||||
xor edx, edx
|
||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi, [strs]
|
||||
@@:
|
||||
lodsb
|
||||
or al, al
|
||||
jnz @b
|
||||
mov ebx, esi
|
||||
mov esi, [strs]
|
||||
dec ebx
|
||||
sub ebx, esi
|
||||
mov ecx, 1
|
||||
|
||||
@@:
|
||||
dec ebx
|
||||
or ebx, ebx
|
||||
jz @f
|
||||
imul ecx, ecx, 10; <EFBFBD><EFBFBD><EFBFBD>冷<EFBFBD>
|
||||
jmp @b
|
||||
@@:
|
||||
|
||||
xchg ebx, ecx
|
||||
|
||||
|
||||
xor ecx, ecx
|
||||
|
||||
|
||||
@@:
|
||||
xor eax, eax
|
||||
lodsb
|
||||
cmp al, 0
|
||||
je .eend
|
||||
|
||||
sub al, 30h
|
||||
imul ebx
|
||||
add ecx, eax
|
||||
push ecx
|
||||
xchg eax, ebx
|
||||
mov ecx, 10
|
||||
div ecx
|
||||
xchg eax, ebx
|
||||
pop ecx
|
||||
jmp @b
|
||||
|
||||
.eend:
|
||||
mov [esp+28], ecx
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
;convert string to DWord for hex value
|
||||
proc strtoint_hex stdcall,strs
|
||||
pushad
|
||||
xor edx, edx
|
||||
|
||||
mov esi, [strs]
|
||||
mov ebx, 1
|
||||
add esi, 1
|
||||
|
||||
@@:
|
||||
lodsb
|
||||
or al, al
|
||||
jz @f
|
||||
shl ebx, 4
|
||||
jmp @b
|
||||
@@:
|
||||
xor ecx, ecx
|
||||
mov esi, [strs]
|
||||
|
||||
@@:
|
||||
xor eax, eax
|
||||
lodsb
|
||||
cmp al, 0
|
||||
je .eend
|
||||
|
||||
cmp al, 'a'
|
||||
jae .bm
|
||||
cmp al, 'A'
|
||||
jae .bb
|
||||
jmp .cc
|
||||
.bm: ; 57h
|
||||
sub al, 57h
|
||||
jmp .do
|
||||
|
||||
.bb: ; 37h
|
||||
sub al, 37h
|
||||
jmp .do
|
||||
|
||||
.cc: ; 30h
|
||||
sub al, 30h
|
||||
|
||||
.do:
|
||||
imul ebx
|
||||
add ecx, eax
|
||||
shr ebx, 4
|
||||
|
||||
jmp @b
|
||||
|
||||
.eend:
|
||||
mov [esp+28], ecx
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
|
||||
; convert string to DWord for IP addres
|
||||
proc do_inet_adr stdcall,strs
|
||||
pushad
|
||||
|
||||
mov esi, [strs]
|
||||
mov ebx, 0
|
||||
.next:
|
||||
push esi
|
||||
@@:
|
||||
lodsb
|
||||
or al, al
|
||||
jz @f
|
||||
cmp al, '.'
|
||||
jz @f
|
||||
jmp @b
|
||||
@@:
|
||||
mov cl, al
|
||||
mov [esi-1], byte 0
|
||||
;pop eax
|
||||
call strtoint_dec
|
||||
rol eax, 24
|
||||
ror ebx, 8
|
||||
add ebx, eax
|
||||
or cl, cl
|
||||
jz @f
|
||||
jmp .next
|
||||
@@:
|
||||
mov [esp+28], ebx
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
Reference in New Issue
Block a user