forked from KolibriOS/kolibrios
Using function get_option_str from libini instead of independent parsing. New import names
git-svn-id: svn://kolibrios.org@1236 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
7ccd9d85bb
commit
4448079bc7
File diff suppressed because it is too large
Load Diff
@ -1,29 +1,35 @@
|
|||||||
==================== <20>ãá᪨© ====================
|
==================== <20>ãá᪨© ====================
|
||||||
0.1.4 - 0.9.03.2009 - vkos
|
0.1.5 - 25.10.2009 - vkos
|
||||||
|
* ˆá¯®«ì§®¢ ¨¥ äãªæ¨¨ get_option_str ¨§ libini (¯®á«¥¤¥© ॢ¨§¨¨) ¢¬¥áâ® á ¬®áâ®ï⥫쮣® à §¡®à
|
||||||
|
* <20>¥à¥å®¤ ®¢ë¥ ¨¬¥ ¯à¨ ¨¬¯®à⥠(ᮢ¬¥á⨬®áâì á ¡¨¡«¨®â¥ª ¬¨)
|
||||||
|
0.1.4 - 09.03.2009 - vkos
|
||||||
* ˆá¯à ¢«¥ ®è¨¡ª à §¡®à ¯ à ¬¥â஢ (¨§-§ ¥ñ ¯à®£à ¬¬ ¬®£« ¢®®¡é¥ ¥ à ¡®â âì)
|
* ˆá¯à ¢«¥ ®è¨¡ª à §¡®à ¯ à ¬¥â஢ (¨§-§ ¥ñ ¯à®£à ¬¬ ¬®£« ¢®®¡é¥ ¥ à ¡®â âì)
|
||||||
0.1.3 - 20.02.2009 - vkos
|
0.1.3 - 20.02.2009 - vkos
|
||||||
+ ‡ ¯ãáª á ¯ à ¬¥âà ¬¨
|
+ ‡ ¯ãáª á ¯ à ¬¥âà ¬¨
|
||||||
0.1.2.1 - 20.02.2009 - vkos
|
0.1.2.1 - 20.02.2009 - vkos
|
||||||
* ˆá¯à ¢«¥ ¢ë§®¢ printf
|
* ˆá¯à ¢«¥ ¢ë§®¢ printf
|
||||||
0.1.2 - 15.02.2009 - vkos
|
0.1.2 - 15.02.2009 - vkos
|
||||||
* <20>®«¥¥ ¯®¤à®¡ë¥ á®®¡é¥¨ï
|
* <20>®«¥¥ ¯®¤à®¡ë¥ á®®¡é¥¨ï
|
||||||
0.1.1 - 14.02.2009 - vkos
|
0.1.1 - 14.02.2009 - vkos
|
||||||
+ <20>¥ «¨§®¢ ¢ë¢®¤ ¢ ª®á®«ì
|
+ <20>¥ «¨§®¢ ¢ë¢®¤ ¢ ª®á®«ì
|
||||||
* “¤ «ñ ¨¬¯®àâ libio, â.ª. ® ¯®ª ¥ ã¦
|
* “¤ «ñ ¨¬¯®àâ libio, â.ª. ® ¯®ª ¥ ã¦
|
||||||
0.1 - 13.02.2009 - vkos
|
0.1 - 13.02.2009 - vkos
|
||||||
+ <20>¥ «¨§®¢ ® ç⥨¥ ª®ä¨£ãà 樨 ¨ § ¯ã᪠¯à®£à ¬¬ë (¡¥§ à£ã¬¥â®¢)
|
+ <20>¥ «¨§®¢ ® ç⥨¥ ª®ä¨£ãà 樨 ¨ § ¯ã᪠¯à®£à ¬¬ë (¡¥§ à£ã¬¥â®¢)
|
||||||
|
|
||||||
==================== English ====================
|
==================== English ====================
|
||||||
0.1.4 - 0.9.03.2009 - vkos
|
0.1.5 - 25.10.2009 - vkos
|
||||||
|
* Using function get_option_str from libini (last revision) instead of independent parsing
|
||||||
|
* New import names (compatibility with libraries)
|
||||||
|
0.1.4 - 09.03.2009 - vkos
|
||||||
* Parsing of arguments is fixed (the problem may cause non-working program)
|
* Parsing of arguments is fixed (the problem may cause non-working program)
|
||||||
0.1.3 - 20.02.2009 - vkos
|
0.1.3 - 20.02.2009 - vkos
|
||||||
+ Launching with arguments
|
+ Launching with arguments
|
||||||
0.1.2.1 - 20.02.2009 - vkos
|
0.1.2.1 - 20.02.2009 - vkos
|
||||||
* Calling of printf is fixed
|
* Calling of printf is fixed
|
||||||
0.1.2 - 15.02.2009 - vkos
|
0.1.2 - 15.02.2009 - vkos
|
||||||
* More text in messages
|
* More text in messages
|
||||||
0.1.1 - 14.02.2009 - vkos
|
0.1.1 - 14.02.2009 - vkos
|
||||||
+ Implemented console output
|
+ Implemented console output
|
||||||
* Importing libio is deleted because we don't need it now
|
* Importing libio is deleted because we don't need it now
|
||||||
0.1 - 13.02.2009 - vkos
|
0.1 - 13.02.2009 - vkos
|
||||||
+ Implemented: reading configuration and running programme
|
+ Implemented: reading configuration and running programme
|
||||||
|
@ -17,8 +17,10 @@
|
|||||||
;; For more details see readme.txt ;;
|
;; For more details see readme.txt ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
format binary
|
||||||
|
|
||||||
APP_NAME fix 'Launch'
|
APP_NAME fix 'Launch'
|
||||||
APP_VERSION fix '0.1.4'
|
APP_VERSION fix '0.1.5'
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0x0
|
org 0x0
|
||||||
@ -32,17 +34,23 @@ dd APP_STACK
|
|||||||
dd args
|
dd args
|
||||||
dd path
|
dd path
|
||||||
|
|
||||||
|
define DEBUG_NO 0
|
||||||
|
define DEBUG_CONSOLE 1
|
||||||
|
define DEBUG_BOARD 2 ;; Not used now
|
||||||
|
|
||||||
define PATH_MAX_LEN 1024
|
define PATH_MAX_LEN 1024
|
||||||
define DEBUG_MAX_LEN 8
|
define DEBUG_MAX_LEN 8
|
||||||
define DEBUG_DEFAULT debug_no_num
|
define DEBUG_DEFAULT 0
|
||||||
define BUFF_SIZE 1024
|
define BUFF_SIZE 1024
|
||||||
|
|
||||||
include 'macros.inc'
|
include '../../../proc32.inc'
|
||||||
include 'proc32.inc'
|
include '../../../macros.inc'
|
||||||
include 'libio.inc'
|
include 'libio.inc'
|
||||||
include 'mem.inc'
|
include 'mem.inc'
|
||||||
include 'dll.inc'
|
include 'dll.inc'
|
||||||
|
|
||||||
|
;;--------------------------------------------------------------------------------------------------
|
||||||
|
;; Basic initialization
|
||||||
START:
|
START:
|
||||||
;; Initialize process heap
|
;; Initialize process heap
|
||||||
mcall 68,11
|
mcall 68,11
|
||||||
@ -54,7 +62,9 @@ START:
|
|||||||
test eax, eax
|
test eax, eax
|
||||||
jnz exit
|
jnz exit
|
||||||
|
|
||||||
read_ini:
|
;;--------------------------------------------------------------------------------------------------
|
||||||
|
;; Reading config
|
||||||
|
read_ini_path: ;; Read search path
|
||||||
;; First read config in /sys/etc
|
;; First read config in /sys/etc
|
||||||
invoke ini.get_str, etc_cfg, cfg_main, cfg_path, search_path, PATH_MAX_LEN, empty_str
|
invoke ini.get_str, etc_cfg, cfg_main, cfg_path, search_path, PATH_MAX_LEN, empty_str
|
||||||
|
|
||||||
@ -89,64 +99,26 @@ read_ini:
|
|||||||
;; Read ini
|
;; Read ini
|
||||||
invoke ini.get_str, path, cfg_main, cfg_path, edi, PATH_MAX_LEN, empty_str
|
invoke ini.get_str, path, cfg_main, cfg_path, edi, PATH_MAX_LEN, empty_str
|
||||||
|
|
||||||
read_ini_debug:
|
read_ini_debug: ;; Read debug options
|
||||||
;; Read debug options from config files
|
;; Read debug options from config files
|
||||||
invoke ini.get_str, etc_cfg, cfg_debug, cfg_debug, debug_option, DEBUG_MAX_LEN, DEBUG_DEFAULT
|
invoke ini.get_option_str, etc_cfg, cfg_debug, cfg_debug, debug_strings, DEBUG_MAX_LEN, DEBUG_DEFAULT
|
||||||
invoke ini.get_str, path, cfg_debug, cfg_debug, debug_option, DEBUG_MAX_LEN, debug_option
|
invoke ini.get_option_str, path, cfg_debug, cfg_debug, debug_strings, DEBUG_MAX_LEN, eax
|
||||||
|
mov [debug_option], eax
|
||||||
;; Now convert debug_option from string to number of debug mode
|
|
||||||
mov ebx, modes-4
|
test eax, eax ;; No console
|
||||||
.convert:
|
|
||||||
mov al, byte [debug_option]
|
|
||||||
cmp al, 10
|
|
||||||
jbe .converted
|
|
||||||
|
|
||||||
.convert_nxt:
|
|
||||||
add ebx, 4
|
|
||||||
mov esi, dword [ebx]
|
|
||||||
test esi, esi
|
|
||||||
je .set_default ;; String is incorrect, so set default
|
|
||||||
mov edi, debug_option
|
|
||||||
.conv_loop:
|
|
||||||
mov al, byte [esi]
|
|
||||||
cmp al, byte [edi]
|
|
||||||
jne .convert_nxt ;; Not equal, so try next
|
|
||||||
test al, al
|
|
||||||
je .found ;; Equal, end of loop
|
|
||||||
inc esi
|
|
||||||
inc edi
|
|
||||||
jmp .conv_loop
|
|
||||||
|
|
||||||
.set_default:
|
|
||||||
mov al, byte [DEBUG_DEFAULT]
|
|
||||||
mov byte [debug_option], al
|
|
||||||
jmp .converted
|
|
||||||
|
|
||||||
.found:
|
|
||||||
sub ebx, modes
|
|
||||||
shr ebx, 2
|
|
||||||
add ebx, modes_nums
|
|
||||||
mov al, byte [ebx]
|
|
||||||
mov byte [debug_option], al
|
|
||||||
|
|
||||||
.converted:
|
|
||||||
dec al
|
|
||||||
test al, al
|
|
||||||
je .ok
|
je .ok
|
||||||
dec al
|
|
||||||
test al, al
|
jmp .con_init
|
||||||
je .con_init
|
|
||||||
|
|
||||||
.noconsole:
|
.console_err:
|
||||||
mov al, 1
|
mov dword [debug_option], 0
|
||||||
mov byte [debug_option], al
|
|
||||||
jmp .ok
|
jmp .ok
|
||||||
|
|
||||||
.con_init:
|
.con_init:
|
||||||
stdcall dll.Load, consoleImport
|
stdcall dll.Load, consoleImport
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jnz .noconsole
|
jnz .console_err
|
||||||
invoke con.init, -1, -1, -1, -1, WinTitle
|
invoke con.init, -1, -1, -1, -1, window_title
|
||||||
|
|
||||||
.read_level:
|
.read_level:
|
||||||
invoke ini.get_int, etc_cfg, cfg_debug, cfg_level, 0
|
invoke ini.get_int, etc_cfg, cfg_debug, cfg_level, 0
|
||||||
@ -154,10 +126,19 @@ read_ini_debug:
|
|||||||
mov dword [debug_level], eax
|
mov dword [debug_level], eax
|
||||||
.ok:
|
.ok:
|
||||||
|
|
||||||
|
; read_ini_kobra:
|
||||||
|
; invoke ini.get_str, etc_cfg, cfg_kobra, cfg_use, kobra_use, KOBRA_USE_MAX_LEN, KOBRA_USE_DEFAULT
|
||||||
|
; invoke ini.get_str, path, cfg_kobra, cfg_use, kobra_use, KOBRA_USE_MAX_LEN, kobra_use
|
||||||
|
;
|
||||||
|
; ;; Now convert string option to acceptable type
|
||||||
|
|
||||||
|
|
||||||
|
;;--------------------------------------------------------------------------------------------------
|
||||||
|
;; Parse command line options
|
||||||
parse_args:
|
parse_args:
|
||||||
;; Now parse command line arguments
|
;; Now parse command line arguments
|
||||||
;; TODO: use optparse library
|
;; TODO: use optparse library
|
||||||
;; Currently the only argument to parse is program name
|
;; Currently the only argument to parse is program name with its' arguments
|
||||||
|
|
||||||
.skip_spaces:
|
.skip_spaces:
|
||||||
mov ecx, -1
|
mov ecx, -1
|
||||||
@ -184,7 +165,8 @@ parse_args:
|
|||||||
dec edi
|
dec edi
|
||||||
;; Now edi = program name
|
;; Now edi = program name
|
||||||
|
|
||||||
;; End of preparations! Now we can find file and launch it.
|
;;--------------------------------------------------------------------------------------------------
|
||||||
|
;; Finding file
|
||||||
search_file:
|
search_file:
|
||||||
push edi
|
push edi
|
||||||
mov esi, search_path
|
mov esi, search_path
|
||||||
@ -197,7 +179,7 @@ search_file:
|
|||||||
.prn_dbg:
|
.prn_dbg:
|
||||||
push eax
|
push eax
|
||||||
mov al, byte [debug_option]
|
mov al, byte [debug_option]
|
||||||
dec al
|
; dec al
|
||||||
test al, al
|
test al, al
|
||||||
je .prn_stp
|
je .prn_stp
|
||||||
mov eax, dword [debug_level]
|
mov eax, dword [debug_level]
|
||||||
@ -253,15 +235,14 @@ search_file:
|
|||||||
cmp eax, 0
|
cmp eax, 0
|
||||||
jl .loop
|
jl .loop
|
||||||
|
|
||||||
|
;;--------------------------------------------------------------------------------------------------
|
||||||
|
;; Exit
|
||||||
exit:
|
exit:
|
||||||
push eax
|
push eax
|
||||||
;; If console is present we should write some info
|
;; If console is present we should write some info
|
||||||
mov al, byte [debug_option]
|
mov al, byte [debug_option]
|
||||||
cmp al, 2
|
cmp al, DEBUG_CONSOLE
|
||||||
je .write_console
|
jne .close
|
||||||
|
|
||||||
.close:
|
|
||||||
mcall -1
|
|
||||||
|
|
||||||
.write_console:
|
.write_console:
|
||||||
pop eax
|
pop eax
|
||||||
@ -275,52 +256,60 @@ exit:
|
|||||||
cinvoke con.printf, message_error, edi
|
cinvoke con.printf, message_error, edi
|
||||||
.wr_end:
|
.wr_end:
|
||||||
invoke con.exit, 0
|
invoke con.exit, 0
|
||||||
jmp .close
|
|
||||||
|
.close:
|
||||||
|
mcall -1
|
||||||
|
|
||||||
|
;; End of code
|
||||||
|
;;--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
importTable:
|
importTable:
|
||||||
library \
|
|
||||||
libini, 'libini.obj';, \
|
library libini, 'libini.obj' ;, \
|
||||||
; libio, 'libio.obj', \
|
; libio, 'libio.obj', \
|
||||||
|
|
||||||
import libini, \
|
import libini, \
|
||||||
ini.get_str ,'ini.get_str', \
|
ini.get_str ,'ini_get_str', \
|
||||||
\; ini.set_str ,'ini.set_str', \
|
\; ini.set_str ,'ini_set_str', \
|
||||||
ini.get_int ,'ini.get_int';, \
|
ini.get_int ,'ini_get_int', \
|
||||||
\; ini.set_int ,'ini.set_int', \
|
\; ini.set_int ,'ini_set_int', \
|
||||||
; ini.get_color,'ini.get_color', \
|
\; ini.get_color ,'ini_get_color', \
|
||||||
; ini.set_color,'ini.set_color'
|
\; ini.set_color ,'ini_set_color', \
|
||||||
|
ini.get_option_str ,'ini_get_option_str';, \
|
||||||
|
|
||||||
;import libio, \
|
;import libio, \
|
||||||
; file.find_first,'file.find_first', \
|
; file_find_first,'file_find_first', \
|
||||||
; file.find_next ,'file.find_next', \
|
; file_find_next ,'file_find_next', \
|
||||||
; file.find_close,'file.find_close', \
|
; file_find_close,'file_find_close', \
|
||||||
; file.size ,'file.size', \
|
; file_size ,'file_size', \
|
||||||
; file.open ,'file.open', \
|
; file_open ,'file_open', \
|
||||||
; file.read ,'file.read', \
|
; file_read ,'file_read', \
|
||||||
; file.write ,'file.write', \
|
; file_write ,'file_write', \
|
||||||
; file.seek ,'file.seek', \
|
; file_seek ,'file_seek', \
|
||||||
; file.tell ,'file.tell', \
|
; file_tell ,'file_tell', \
|
||||||
; file.eof? ,'file.eof?', \
|
; file_eof? ,'file_eof?', \
|
||||||
; file.truncate ,'file.truncate', \
|
; file_truncate ,'file_truncate', \
|
||||||
; file.close ,'file.close'
|
; file_close ,'file_close'
|
||||||
|
|
||||||
consoleImport:
|
consoleImport:
|
||||||
library \
|
library \
|
||||||
conlib, 'console.obj'
|
conlib, 'console.obj'
|
||||||
|
|
||||||
import conlib, \
|
import conlib,\
|
||||||
con.init, 'con.init',\
|
con.init, 'con_init',\
|
||||||
con.exit, 'con.exit',\
|
con.exit, 'con_exit',\
|
||||||
con.printf, 'con.printf';,\
|
con.printf, 'con_printf' ;,\
|
||||||
; con.write_asciiz, 'con.write_asciiz'
|
; con.write_asciiz, 'con_write_asciiz'
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
APP_DATA:
|
APP_DATA:
|
||||||
|
|
||||||
WinTitle:
|
;; Window title
|
||||||
|
window_title:
|
||||||
db APP_NAME, ' ', APP_VERSION, 0
|
db APP_NAME, ' ', APP_VERSION, 0
|
||||||
|
|
||||||
|
;; Messages
|
||||||
message_dbg_not_found:
|
message_dbg_not_found:
|
||||||
db '%s not found', 10, 0
|
db '%s not found', 10, 0
|
||||||
|
|
||||||
@ -330,8 +319,11 @@ message_error:
|
|||||||
message_ok:
|
message_ok:
|
||||||
db '%s loaded succesfully. PID: %d (0x%X)'
|
db '%s loaded succesfully. PID: %d (0x%X)'
|
||||||
|
|
||||||
|
;; Empty string
|
||||||
empty_str:
|
empty_str:
|
||||||
db 0
|
db 0
|
||||||
|
|
||||||
|
;; Configuration path
|
||||||
etc_cfg:
|
etc_cfg:
|
||||||
db '/sys/etc/'
|
db '/sys/etc/'
|
||||||
cfg_name:
|
cfg_name:
|
||||||
@ -339,6 +331,7 @@ cfg_name:
|
|||||||
cfg_ext:
|
cfg_ext:
|
||||||
db '.cfg', 0
|
db '.cfg', 0
|
||||||
|
|
||||||
|
;; String in config file
|
||||||
cfg_main:
|
cfg_main:
|
||||||
db 'main', 0
|
db 'main', 0
|
||||||
cfg_path:
|
cfg_path:
|
||||||
@ -348,7 +341,8 @@ cfg_debug:
|
|||||||
cfg_level:
|
cfg_level:
|
||||||
db 'level', 0
|
db 'level', 0
|
||||||
|
|
||||||
modes:
|
;; List of debug modes for parsing debug option
|
||||||
|
debug_strings:
|
||||||
dd debug_no
|
dd debug_no
|
||||||
dd debug_console
|
dd debug_console
|
||||||
dd 0
|
dd 0
|
||||||
@ -358,16 +352,19 @@ debug_no:
|
|||||||
debug_console:
|
debug_console:
|
||||||
db 'console', 0
|
db 'console', 0
|
||||||
|
|
||||||
modes_nums:
|
; modes_nums:
|
||||||
debug_no_num:
|
; debug_no_num:
|
||||||
db 1
|
; db 1
|
||||||
|
;
|
||||||
debug_console_num:
|
; debug_console_num:
|
||||||
db 2
|
; db 2
|
||||||
|
|
||||||
debug_level:
|
debug_level:
|
||||||
dd 0
|
dd 0
|
||||||
|
|
||||||
|
debug_kobra:
|
||||||
|
db 0
|
||||||
|
|
||||||
LaunchStruct FileInfoRun
|
LaunchStruct FileInfoRun
|
||||||
|
|
||||||
args: db 0
|
args: db 0
|
||||||
@ -379,12 +376,15 @@ prog_args:
|
|||||||
path:
|
path:
|
||||||
rb 1024
|
rb 1024
|
||||||
|
|
||||||
|
;; Search path will be here
|
||||||
search_path:
|
search_path:
|
||||||
rb PATH_MAX_LEN
|
rb PATH_MAX_LEN
|
||||||
|
|
||||||
|
;; debug option as number
|
||||||
debug_option:
|
debug_option:
|
||||||
rb DEBUG_MAX_LEN
|
dd 0
|
||||||
|
|
||||||
|
;; Buffer
|
||||||
buff:
|
buff:
|
||||||
rb BUFF_SIZE
|
rb BUFF_SIZE
|
||||||
|
|
||||||
|
@ -1,349 +0,0 @@
|
|||||||
0x186 START
|
|
||||||
0x972 APP_END
|
|
||||||
0x267D MEM_END
|
|
||||||
0x267D APP_STACK
|
|
||||||
0x971 args
|
|
||||||
0xA75 path
|
|
||||||
0x0 RECT.left
|
|
||||||
0x4 RECT.top
|
|
||||||
0x8 RECT.right
|
|
||||||
0xC RECT.bottom
|
|
||||||
0x0 BOX.left
|
|
||||||
0x4 BOX.top
|
|
||||||
0x8 BOX.width
|
|
||||||
0xC BOX.height
|
|
||||||
0x0 process_information.cpu_usage
|
|
||||||
0x4 process_information.window_stack_position
|
|
||||||
0x6 process_information.window_stack_value
|
|
||||||
0x8 process_information.anonymous?K
|
|
||||||
0xA process_information.process_name
|
|
||||||
0x16 process_information.memory_start
|
|
||||||
0x1A process_information.used_memory
|
|
||||||
0x1E process_information.PID
|
|
||||||
0x22 process_information.box
|
|
||||||
0x22 process_information.box.left
|
|
||||||
0x26 process_information.box.top
|
|
||||||
0x2A process_information.box.width
|
|
||||||
0x2E process_information.box.height
|
|
||||||
0x32 process_information.slot_state
|
|
||||||
0x34 process_information.anonymous?L
|
|
||||||
0x36 process_information.client_box
|
|
||||||
0x36 process_information.client_box.left
|
|
||||||
0x3A process_information.client_box.top
|
|
||||||
0x3E process_information.client_box.width
|
|
||||||
0x42 process_information.client_box.height
|
|
||||||
0x46 process_information.wnd_state
|
|
||||||
0x47 process_information.anonymous?M
|
|
||||||
0x0 system_colors.frame
|
|
||||||
0x4 system_colors.grab
|
|
||||||
0x8 system_colors.grab_button
|
|
||||||
0xC system_colors.grab_button_text
|
|
||||||
0x10 system_colors.grab_text
|
|
||||||
0x14 system_colors.work
|
|
||||||
0x18 system_colors.work_button
|
|
||||||
0x1C system_colors.work_button_text
|
|
||||||
0x20 system_colors.work_text
|
|
||||||
0x24 system_colors.work_graph
|
|
||||||
0x0 FILEDATE.Second
|
|
||||||
0x1 FILEDATE.Minute
|
|
||||||
0x2 FILEDATE.Hour
|
|
||||||
0x3 FILEDATE.anonymous?0D
|
|
||||||
0x4 FILEDATE.Day
|
|
||||||
0x5 FILEDATE.Month
|
|
||||||
0x6 FILEDATE.Year
|
|
||||||
0x0 FILEINFO.Attributes
|
|
||||||
0x4 FILEINFO.IsUnicode
|
|
||||||
0x5 FILEINFO.anonymous?0U
|
|
||||||
0x8 FILEINFO.DateCreate
|
|
||||||
0x8 FILEINFO.DateCreate.Second
|
|
||||||
0x9 FILEINFO.DateCreate.Minute
|
|
||||||
0xA FILEINFO.DateCreate.Hour
|
|
||||||
0xB FILEINFO.DateCreate.anonymous?0D
|
|
||||||
0xC FILEINFO.DateCreate.Day
|
|
||||||
0xD FILEINFO.DateCreate.Month
|
|
||||||
0xE FILEINFO.DateCreate.Year
|
|
||||||
0x10 FILEINFO.DateAccess
|
|
||||||
0x10 FILEINFO.DateAccess.Second
|
|
||||||
0x11 FILEINFO.DateAccess.Minute
|
|
||||||
0x12 FILEINFO.DateAccess.Hour
|
|
||||||
0x13 FILEINFO.DateAccess.anonymous?0D
|
|
||||||
0x14 FILEINFO.DateAccess.Day
|
|
||||||
0x15 FILEINFO.DateAccess.Month
|
|
||||||
0x16 FILEINFO.DateAccess.Year
|
|
||||||
0x18 FILEINFO.DateModify
|
|
||||||
0x18 FILEINFO.DateModify.Second
|
|
||||||
0x19 FILEINFO.DateModify.Minute
|
|
||||||
0x1A FILEINFO.DateModify.Hour
|
|
||||||
0x1B FILEINFO.DateModify.anonymous?0D
|
|
||||||
0x1C FILEINFO.DateModify.Day
|
|
||||||
0x1D FILEINFO.DateModify.Month
|
|
||||||
0x1E FILEINFO.DateModify.Year
|
|
||||||
0x20 FILEINFO.Size
|
|
||||||
0x0 sub?0m.sec
|
|
||||||
0x1 sub?0m.min
|
|
||||||
0x2 sub?0m.hour
|
|
||||||
0x0 FileDateTime.time
|
|
||||||
0x0 sub?0x.day
|
|
||||||
0x1 sub?0x.month
|
|
||||||
0x2 sub?0x.year
|
|
||||||
0x0 FileDateTime.date
|
|
||||||
0x0 FileInfoBlock.Function
|
|
||||||
0x4 FileInfoBlock.Position
|
|
||||||
0x8 FileInfoBlock.Flags
|
|
||||||
0xC FileInfoBlock.Count
|
|
||||||
0x10 FileInfoBlock.Buffer
|
|
||||||
0x14 FileInfoBlock.anonymous?1B
|
|
||||||
0x15 FileInfoBlock.FileName
|
|
||||||
0x0 FileInfoHeader.Version
|
|
||||||
0x4 FileInfoHeader.FilesRead
|
|
||||||
0x8 FileInfoHeader.FilesCount
|
|
||||||
0xC FileInfoHeader.anonymous?1S
|
|
||||||
0x0 sub?1j.FileSizeLow
|
|
||||||
0x4 sub?1j.FileSizeHigh
|
|
||||||
0x0 FileInfoA.FileSize
|
|
||||||
0x0 FileInfoA.Attributes
|
|
||||||
0x4 FileInfoA.Flags
|
|
||||||
0x8 FileInfoA.DateCreate
|
|
||||||
0x8 FileInfoA.DateCreatesub?0m
|
|
||||||
0x8 FileInfoA.DateCreate.time
|
|
||||||
0x8 FileInfoA.DateCreatesub?0p
|
|
||||||
0x8 FileInfoA.DateCreate.sec
|
|
||||||
0x9 FileInfoA.DateCreate.min
|
|
||||||
0xA FileInfoA.DateCreate.hour
|
|
||||||
0xC FileInfoA.DateCreatesub?0x
|
|
||||||
0xC FileInfoA.DateCreate.date
|
|
||||||
0xC FileInfoA.DateCreatesub?10
|
|
||||||
0xC FileInfoA.DateCreate.day
|
|
||||||
0xD FileInfoA.DateCreate.month
|
|
||||||
0xE FileInfoA.DateCreate.year
|
|
||||||
0x10 FileInfoA.DateAccess
|
|
||||||
0x10 FileInfoA.DateAccesssub?0m
|
|
||||||
0x10 FileInfoA.DateAccess.time
|
|
||||||
0x10 FileInfoA.DateAccesssub?0p
|
|
||||||
0x10 FileInfoA.DateAccess.sec
|
|
||||||
0x11 FileInfoA.DateAccess.min
|
|
||||||
0x12 FileInfoA.DateAccess.hour
|
|
||||||
0x14 FileInfoA.DateAccesssub?0x
|
|
||||||
0x14 FileInfoA.DateAccess.date
|
|
||||||
0x14 FileInfoA.DateAccesssub?10
|
|
||||||
0x14 FileInfoA.DateAccess.day
|
|
||||||
0x15 FileInfoA.DateAccess.month
|
|
||||||
0x16 FileInfoA.DateAccess.year
|
|
||||||
0x18 FileInfoA.DateModify
|
|
||||||
0x18 FileInfoA.DateModifysub?0m
|
|
||||||
0x18 FileInfoA.DateModify.time
|
|
||||||
0x18 FileInfoA.DateModifysub?0p
|
|
||||||
0x18 FileInfoA.DateModify.sec
|
|
||||||
0x19 FileInfoA.DateModify.min
|
|
||||||
0x1A FileInfoA.DateModify.hour
|
|
||||||
0x1C FileInfoA.DateModifysub?0x
|
|
||||||
0x1C FileInfoA.DateModify.date
|
|
||||||
0x1C FileInfoA.DateModifysub?10
|
|
||||||
0x1C FileInfoA.DateModify.day
|
|
||||||
0x1D FileInfoA.DateModify.month
|
|
||||||
0x1E FileInfoA.DateModify.year
|
|
||||||
0x28 FileInfoA.FileName
|
|
||||||
0x0 sub?27.FileSizeLow
|
|
||||||
0x4 sub?27.FileSizeHigh
|
|
||||||
0x0 FileInfoW.FileSize
|
|
||||||
0x0 FileInfoW.Attributes
|
|
||||||
0x4 FileInfoW.Flags
|
|
||||||
0x8 FileInfoW.DateCreate
|
|
||||||
0x8 FileInfoW.DateCreatesub?0m
|
|
||||||
0x8 FileInfoW.DateCreate.time
|
|
||||||
0x8 FileInfoW.DateCreatesub?0p
|
|
||||||
0x8 FileInfoW.DateCreate.sec
|
|
||||||
0x9 FileInfoW.DateCreate.min
|
|
||||||
0xA FileInfoW.DateCreate.hour
|
|
||||||
0xC FileInfoW.DateCreatesub?0x
|
|
||||||
0xC FileInfoW.DateCreate.date
|
|
||||||
0xC FileInfoW.DateCreatesub?10
|
|
||||||
0xC FileInfoW.DateCreate.day
|
|
||||||
0xD FileInfoW.DateCreate.month
|
|
||||||
0xE FileInfoW.DateCreate.year
|
|
||||||
0x10 FileInfoW.DateAccess
|
|
||||||
0x10 FileInfoW.DateAccesssub?0m
|
|
||||||
0x10 FileInfoW.DateAccess.time
|
|
||||||
0x10 FileInfoW.DateAccesssub?0p
|
|
||||||
0x10 FileInfoW.DateAccess.sec
|
|
||||||
0x11 FileInfoW.DateAccess.min
|
|
||||||
0x12 FileInfoW.DateAccess.hour
|
|
||||||
0x14 FileInfoW.DateAccesssub?0x
|
|
||||||
0x14 FileInfoW.DateAccess.date
|
|
||||||
0x14 FileInfoW.DateAccesssub?10
|
|
||||||
0x14 FileInfoW.DateAccess.day
|
|
||||||
0x15 FileInfoW.DateAccess.month
|
|
||||||
0x16 FileInfoW.DateAccess.year
|
|
||||||
0x18 FileInfoW.DateModify
|
|
||||||
0x18 FileInfoW.DateModifysub?0m
|
|
||||||
0x18 FileInfoW.DateModify.time
|
|
||||||
0x18 FileInfoW.DateModifysub?0p
|
|
||||||
0x18 FileInfoW.DateModify.sec
|
|
||||||
0x19 FileInfoW.DateModify.min
|
|
||||||
0x1A FileInfoW.DateModify.hour
|
|
||||||
0x1C FileInfoW.DateModifysub?0x
|
|
||||||
0x1C FileInfoW.DateModify.date
|
|
||||||
0x1C FileInfoW.DateModifysub?10
|
|
||||||
0x1C FileInfoW.DateModify.day
|
|
||||||
0x1D FileInfoW.DateModify.month
|
|
||||||
0x1E FileInfoW.DateModify.year
|
|
||||||
0x28 FileInfoW.FileName
|
|
||||||
0x0 sub?2V.Zero
|
|
||||||
0x1 sub?2V.FileNameP
|
|
||||||
0x0 FileInfoRun.FileName
|
|
||||||
0x0 FileInfoRun.Function
|
|
||||||
0x4 FileInfoRun.Flags
|
|
||||||
0x8 FileInfoRun.Arguments
|
|
||||||
0xC FileInfoRun.Reserved0
|
|
||||||
0x10 FileInfoRun.Reserved1
|
|
||||||
0x0 FileInfo
|
|
||||||
0x0 FileInfo.Attributes
|
|
||||||
0x4 FileInfo.Flags
|
|
||||||
0x8 FileInfo.DateCreate
|
|
||||||
0x8 FileInfo.DateCreatesub?0m
|
|
||||||
0x8 FileInfo.DateCreate.time
|
|
||||||
0x8 FileInfo.DateCreatesub?0p
|
|
||||||
0x8 FileInfo.DateCreate.sec
|
|
||||||
0x9 FileInfo.DateCreate.min
|
|
||||||
0xA FileInfo.DateCreate.hour
|
|
||||||
0xC FileInfo.DateCreatesub?0x
|
|
||||||
0xC FileInfo.DateCreate.date
|
|
||||||
0xC FileInfo.DateCreatesub?10
|
|
||||||
0xC FileInfo.DateCreate.day
|
|
||||||
0xD FileInfo.DateCreate.month
|
|
||||||
0xE FileInfo.DateCreate.year
|
|
||||||
0x10 FileInfo.DateAccess
|
|
||||||
0x10 FileInfo.DateAccesssub?0m
|
|
||||||
0x10 FileInfo.DateAccess.time
|
|
||||||
0x10 FileInfo.DateAccesssub?0p
|
|
||||||
0x10 FileInfo.DateAccess.sec
|
|
||||||
0x11 FileInfo.DateAccess.min
|
|
||||||
0x12 FileInfo.DateAccess.hour
|
|
||||||
0x14 FileInfo.DateAccesssub?0x
|
|
||||||
0x14 FileInfo.DateAccess.date
|
|
||||||
0x14 FileInfo.DateAccesssub?10
|
|
||||||
0x14 FileInfo.DateAccess.day
|
|
||||||
0x15 FileInfo.DateAccess.month
|
|
||||||
0x16 FileInfo.DateAccess.year
|
|
||||||
0x18 FileInfo.DateModify
|
|
||||||
0x18 FileInfo.DateModifysub?0m
|
|
||||||
0x18 FileInfo.DateModify.time
|
|
||||||
0x18 FileInfo.DateModifysub?0p
|
|
||||||
0x18 FileInfo.DateModify.sec
|
|
||||||
0x19 FileInfo.DateModify.min
|
|
||||||
0x1A FileInfo.DateModify.hour
|
|
||||||
0x1C FileInfo.DateModifysub?0x
|
|
||||||
0x1C FileInfo.DateModify.date
|
|
||||||
0x1C FileInfo.DateModifysub?10
|
|
||||||
0x1C FileInfo.DateModify.day
|
|
||||||
0x1D FileInfo.DateModify.month
|
|
||||||
0x1E FileInfo.DateModify.year
|
|
||||||
0x20 FileInfosub?1j
|
|
||||||
0x20 FileInfo.FileSize
|
|
||||||
0x20 FileInfosub?1m
|
|
||||||
0x20 FileInfo.FileSizeLow
|
|
||||||
0x24 FileInfo.FileSizeHigh
|
|
||||||
0x28 FileInfo.FileName
|
|
||||||
0x24 mem.Alloc
|
|
||||||
0x3A mem.ReAlloc
|
|
||||||
0x61 mem.Free
|
|
||||||
0x7B dll.Load
|
|
||||||
0x81 dll.Load.next_lib
|
|
||||||
0xBC dll.Load.exit
|
|
||||||
0x166 s_libdir.fname
|
|
||||||
0x15D s_libdir
|
|
||||||
0xC2 dll.Load.fail
|
|
||||||
0xCC dll.Link
|
|
||||||
0xFA dll.Init
|
|
||||||
0xF5 dll.Link.done
|
|
||||||
0xD7 dll.Link.next
|
|
||||||
0x112 dll.GetProcAddress
|
|
||||||
0x11A dll.GetProcAddress.next
|
|
||||||
0x139 dll.GetProcAddress.end
|
|
||||||
0x13D strcmp
|
|
||||||
0x136 dll.GetProcAddress.ok
|
|
||||||
0x154 strcmp.fail
|
|
||||||
0x157 strcmp.ok
|
|
||||||
0x3DD exit
|
|
||||||
0x430 importTable
|
|
||||||
0x1A8 read_ini
|
|
||||||
0x516 etc_cfg
|
|
||||||
0x52A cfg_main
|
|
||||||
0x52F cfg_path
|
|
||||||
0xE75 search_path
|
|
||||||
0x515 empty_str
|
|
||||||
0x448 ini.get_str
|
|
||||||
0x1CC read_ini.find_path_eol
|
|
||||||
0x525 cfg_ext
|
|
||||||
0x1E7 read_ini.find_search_eol
|
|
||||||
0x21D read_ini_debug
|
|
||||||
0x534 cfg_debug
|
|
||||||
0x1275 debug_option
|
|
||||||
0x557 debug_no_num
|
|
||||||
0x540 modes
|
|
||||||
0x264 read_ini_debug.convert
|
|
||||||
0x2AB read_ini_debug.converted
|
|
||||||
0x26D read_ini_debug.convert_nxt
|
|
||||||
0x289 read_ini_debug.set_default
|
|
||||||
0x27B read_ini_debug.conv_loop
|
|
||||||
0x295 read_ini_debug.found
|
|
||||||
0x557 modes_nums
|
|
||||||
0x313 read_ini_debug.ok
|
|
||||||
0x2C0 read_ini_debug.con_init
|
|
||||||
0x2B7 read_ini_debug.noconsole
|
|
||||||
0x46C consoleImport
|
|
||||||
0x4C0 WinTitle
|
|
||||||
0x484 con.init
|
|
||||||
0x2E1 read_ini_debug.read_level
|
|
||||||
0x53A cfg_level
|
|
||||||
0x44C ini.get_int
|
|
||||||
0x559 debug_level
|
|
||||||
0x313 parse_args
|
|
||||||
0x313 parse_args.skip_spaces
|
|
||||||
0xA71 prog_args
|
|
||||||
0x32D search_file
|
|
||||||
0x336 search_file.loop
|
|
||||||
0x33E search_file.prn_dbg
|
|
||||||
0x36C search_file.prn_end
|
|
||||||
0x36B search_file.prn_stp
|
|
||||||
0x358 search_file.prn_1
|
|
||||||
0x4CD message_dbg_not_found
|
|
||||||
0x127D buff
|
|
||||||
0x48C con.printf
|
|
||||||
0x376 search_file.copy_path
|
|
||||||
0x382 search_file.copy_file
|
|
||||||
0x386 search_file.cp_file_loop
|
|
||||||
0x392 search_file.copy_end
|
|
||||||
0x55D LaunchStruct.Function
|
|
||||||
0x565 LaunchStruct.Arguments
|
|
||||||
0x561 LaunchStruct.Flags
|
|
||||||
0x571 LaunchStruct.Zero
|
|
||||||
0x572 LaunchStruct.FileNameP
|
|
||||||
0x55D LaunchStruct
|
|
||||||
0x3EC exit.write_console
|
|
||||||
0x3E7 exit.close
|
|
||||||
0x408 exit.write_error
|
|
||||||
0x3F1 exit.write_launched
|
|
||||||
0x4F0 message_ok
|
|
||||||
0x418 exit.wr_end
|
|
||||||
0x4DB message_error
|
|
||||||
0x488 con.exit
|
|
||||||
0x448 __libini_library_table__
|
|
||||||
0x43C __libini_library_name__
|
|
||||||
0x454 __ini.get_str_import_name__
|
|
||||||
0x460 __ini.get_int_import_name__
|
|
||||||
0x484 __conlib_library_table__
|
|
||||||
0x478 __conlib_library_name__
|
|
||||||
0x494 __con.init_import_name__
|
|
||||||
0x4A0 __con.exit_import_name__
|
|
||||||
0x4AC __con.printf_import_name__
|
|
||||||
0x4C0 APP_DATA
|
|
||||||
0x51F cfg_name
|
|
||||||
0x54C debug_no
|
|
||||||
0x54F debug_console
|
|
||||||
0x558 debug_console_num
|
|
||||||
0x569 LaunchStruct.Reserved0
|
|
||||||
0x56D LaunchStruct.Reserved1
|
|
||||||
0x571 LaunchStructsub?2V
|
|
||||||
0x571 LaunchStruct.FileName
|
|
||||||
0x571 LaunchStructsub?2Y
|
|
@ -1,5 +1,5 @@
|
|||||||
==================== <20>ãá᪨© ====================
|
==================== <20>ãá᪨© ====================
|
||||||
‚¥àá¨ï: 0.1.4
|
‚¥àá¨ï: 0.1.5
|
||||||
Launch - ¯à®£à ¬¬ ¤«ï § ¯ã᪠¯à¨«®¦¥¨ï ¨§ ¤¨à¥ªâ®à¨© ¯®¨áª .
|
Launch - ¯à®£à ¬¬ ¤«ï § ¯ã᪠¯à¨«®¦¥¨ï ¨§ ¤¨à¥ªâ®à¨© ¯®¨áª .
|
||||||
<EFBFBD>ਠ§ ¯ã᪥ ç¨â ¥â ä ©« launch.cfg ¢ /sys/etc, § ⥬ ¢ ¤¨à¥ªâ®à¨¨ § ¯ã᪠.
|
<EFBFBD>ਠ§ ¯ã᪥ ç¨â ¥â ä ©« launch.cfg ¢ /sys/etc, § ⥬ ¢ ¤¨à¥ªâ®à¨¨ § ¯ã᪠.
|
||||||
<EFBFBD>®á«¥ í⮣® ᬮâà¨â ¯ à ¬¥âàë ª®¬ ¤®© áâப¨. <20>ਮà¨â¥â ¯ à ¬¥â஢ - ¯®
|
<EFBFBD>®á«¥ í⮣® ᬮâà¨â ¯ à ¬¥âàë ª®¬ ¤®© áâப¨. <20>ਮà¨â¥â ¯ à ¬¥â஢ - ¯®
|
||||||
@ -10,10 +10,10 @@ main.path -
|
|||||||
debug.debug - ®¯æ¨¨ ®â« ¤ª¨ (no - ¥â ®â« ¤ª¨ ¨«¨ console - ¢ë¢®¤ ç¥à¥§ ª®á®«ì)
|
debug.debug - ®¯æ¨¨ ®â« ¤ª¨ (no - ¥â ®â« ¤ª¨ ¨«¨ console - ¢ë¢®¤ ç¥à¥§ ª®á®«ì)
|
||||||
debug.level - ã஢¥ì ®â« ¤ª¨ (0 - ⮫쪮 á®®¡é¥¨¥ 㤠ç®/¥ã¤ ç®, 1 - ¢ë¢®¤¨âì á®®¡é¥¨¥ ¤«ï ª ¦¤®© ¤¨à¥ªâ®à¨¨)
|
debug.level - ã஢¥ì ®â« ¤ª¨ (0 - ⮫쪮 á®®¡é¥¨¥ 㤠ç®/¥ã¤ ç®, 1 - ¢ë¢®¤¨âì á®®¡é¥¨¥ ¤«ï ª ¦¤®© ¤¨à¥ªâ®à¨¨)
|
||||||
<EFBFBD><EFBFBD>…„“<EFBFBD><EFBFBD>…†„…<EFBFBD>ˆ…:
|
<EFBFBD><EFBFBD>…„“<EFBFBD><EFBFBD>…†„…<EFBFBD>ˆ…:
|
||||||
¤«ï ¢ë¢®¤ ¢ ª®á®«ì 㦠¨§¬¥ñ ï ¡¨¡«¨®â¥ª console.obj!
|
¤«ï à ¡®âë 㦠libini ¥ áâ ॥ ॢ¨§¨¨ #1235.
|
||||||
|
|
||||||
==================== English ====================
|
==================== English ====================
|
||||||
Version: 0.1.4
|
Version: 0.1.5
|
||||||
Launch is a programme that launches applications from search dirictories.
|
Launch is a programme that launches applications from search dirictories.
|
||||||
On the start it reads file launch.cfg in /sys/etc and in current dirictory.
|
On the start it reads file launch.cfg in /sys/etc and in current dirictory.
|
||||||
Than it reads command line arguments. Priority of arguments is as reading.
|
Than it reads command line arguments. Priority of arguments is as reading.
|
||||||
@ -23,4 +23,4 @@ main.path - path to search dirictories
|
|||||||
debug.debug - debug options (no or console)
|
debug.debug - debug options (no or console)
|
||||||
debug.level - debug level (0 - show only ok/error messages, 1 - show for each directory)
|
debug.level - debug level (0 - show only ok/error messages, 1 - show for each directory)
|
||||||
ATTENTION:
|
ATTENTION:
|
||||||
to use console output you need new console.obj library!
|
you need libini from at least #1235 revision.
|
Loading…
Reference in New Issue
Block a user