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,5 +1,8 @@
|
||||
==================== <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
|
||||
+ ‡ ¯ãáª á ¯ à ¬¥âà ¬¨
|
||||
@ -14,7 +17,10 @@
|
||||
+ <20>¥ «¨§®¢ ® ç⥨¥ ª®ä¨£ãà 樨 ¨ § ¯ã᪠¯à®£à ¬¬ë (¡¥§ à£ã¬¥â®¢)
|
||||
|
||||
==================== 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)
|
||||
0.1.3 - 20.02.2009 - vkos
|
||||
+ Launching with arguments
|
||||
|
@ -17,8 +17,10 @@
|
||||
;; For more details see readme.txt ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
format binary
|
||||
|
||||
APP_NAME fix 'Launch'
|
||||
APP_VERSION fix '0.1.4'
|
||||
APP_VERSION fix '0.1.5'
|
||||
|
||||
use32
|
||||
org 0x0
|
||||
@ -32,17 +34,23 @@ dd APP_STACK
|
||||
dd args
|
||||
dd path
|
||||
|
||||
define DEBUG_NO 0
|
||||
define DEBUG_CONSOLE 1
|
||||
define DEBUG_BOARD 2 ;; Not used now
|
||||
|
||||
define PATH_MAX_LEN 1024
|
||||
define DEBUG_MAX_LEN 8
|
||||
define DEBUG_DEFAULT debug_no_num
|
||||
define DEBUG_DEFAULT 0
|
||||
define BUFF_SIZE 1024
|
||||
|
||||
include 'macros.inc'
|
||||
include 'proc32.inc'
|
||||
include '../../../proc32.inc'
|
||||
include '../../../macros.inc'
|
||||
include 'libio.inc'
|
||||
include 'mem.inc'
|
||||
include 'dll.inc'
|
||||
|
||||
;;--------------------------------------------------------------------------------------------------
|
||||
;; Basic initialization
|
||||
START:
|
||||
;; Initialize process heap
|
||||
mcall 68,11
|
||||
@ -54,7 +62,9 @@ START:
|
||||
test eax, eax
|
||||
jnz exit
|
||||
|
||||
read_ini:
|
||||
;;--------------------------------------------------------------------------------------------------
|
||||
;; Reading config
|
||||
read_ini_path: ;; Read search path
|
||||
;; First read config in /sys/etc
|
||||
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
|
||||
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
|
||||
invoke ini.get_str, etc_cfg, cfg_debug, cfg_debug, debug_option, 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, etc_cfg, cfg_debug, cfg_debug, debug_strings, DEBUG_MAX_LEN, DEBUG_DEFAULT
|
||||
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
|
||||
.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
|
||||
test eax, eax ;; No console
|
||||
je .ok
|
||||
dec al
|
||||
test al, al
|
||||
je .con_init
|
||||
|
||||
.noconsole:
|
||||
mov al, 1
|
||||
mov byte [debug_option], al
|
||||
jmp .con_init
|
||||
|
||||
.console_err:
|
||||
mov dword [debug_option], 0
|
||||
jmp .ok
|
||||
|
||||
.con_init:
|
||||
stdcall dll.Load, consoleImport
|
||||
test eax, eax
|
||||
jnz .noconsole
|
||||
invoke con.init, -1, -1, -1, -1, WinTitle
|
||||
jnz .console_err
|
||||
invoke con.init, -1, -1, -1, -1, window_title
|
||||
|
||||
.read_level:
|
||||
invoke ini.get_int, etc_cfg, cfg_debug, cfg_level, 0
|
||||
@ -154,10 +126,19 @@ read_ini_debug:
|
||||
mov dword [debug_level], eax
|
||||
.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:
|
||||
;; Now parse command line arguments
|
||||
;; 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:
|
||||
mov ecx, -1
|
||||
@ -184,7 +165,8 @@ parse_args:
|
||||
dec edi
|
||||
;; Now edi = program name
|
||||
|
||||
;; End of preparations! Now we can find file and launch it.
|
||||
;;--------------------------------------------------------------------------------------------------
|
||||
;; Finding file
|
||||
search_file:
|
||||
push edi
|
||||
mov esi, search_path
|
||||
@ -197,7 +179,7 @@ search_file:
|
||||
.prn_dbg:
|
||||
push eax
|
||||
mov al, byte [debug_option]
|
||||
dec al
|
||||
; dec al
|
||||
test al, al
|
||||
je .prn_stp
|
||||
mov eax, dword [debug_level]
|
||||
@ -253,15 +235,14 @@ search_file:
|
||||
cmp eax, 0
|
||||
jl .loop
|
||||
|
||||
;;--------------------------------------------------------------------------------------------------
|
||||
;; Exit
|
||||
exit:
|
||||
push eax
|
||||
;; If console is present we should write some info
|
||||
mov al, byte [debug_option]
|
||||
cmp al, 2
|
||||
je .write_console
|
||||
|
||||
.close:
|
||||
mcall -1
|
||||
cmp al, DEBUG_CONSOLE
|
||||
jne .close
|
||||
|
||||
.write_console:
|
||||
pop eax
|
||||
@ -275,52 +256,60 @@ exit:
|
||||
cinvoke con.printf, message_error, edi
|
||||
.wr_end:
|
||||
invoke con.exit, 0
|
||||
jmp .close
|
||||
|
||||
.close:
|
||||
mcall -1
|
||||
|
||||
;; End of code
|
||||
;;--------------------------------------------------------------------------------------------------
|
||||
|
||||
align 16
|
||||
importTable:
|
||||
library \
|
||||
libini, 'libini.obj';, \
|
||||
|
||||
library libini, 'libini.obj' ;, \
|
||||
; libio, 'libio.obj', \
|
||||
|
||||
import libini, \
|
||||
ini.get_str ,'ini.get_str', \
|
||||
\; ini.set_str ,'ini.set_str', \
|
||||
ini.get_int ,'ini.get_int';, \
|
||||
\; ini.set_int ,'ini.set_int', \
|
||||
; ini.get_color,'ini.get_color', \
|
||||
; ini.set_color,'ini.set_color'
|
||||
ini.get_str ,'ini_get_str', \
|
||||
\; ini.set_str ,'ini_set_str', \
|
||||
ini.get_int ,'ini_get_int', \
|
||||
\; ini.set_int ,'ini_set_int', \
|
||||
\; ini.get_color ,'ini_get_color', \
|
||||
\; ini.set_color ,'ini_set_color', \
|
||||
ini.get_option_str ,'ini_get_option_str';, \
|
||||
|
||||
;import libio, \
|
||||
; file.find_first,'file.find_first', \
|
||||
; file.find_next ,'file.find_next', \
|
||||
; file.find_close,'file.find_close', \
|
||||
; file.size ,'file.size', \
|
||||
; file.open ,'file.open', \
|
||||
; file.read ,'file.read', \
|
||||
; file.write ,'file.write', \
|
||||
; file.seek ,'file.seek', \
|
||||
; file.tell ,'file.tell', \
|
||||
; file.eof? ,'file.eof?', \
|
||||
; file.truncate ,'file.truncate', \
|
||||
; file.close ,'file.close'
|
||||
; file_find_first,'file_find_first', \
|
||||
; file_find_next ,'file_find_next', \
|
||||
; file_find_close,'file_find_close', \
|
||||
; file_size ,'file_size', \
|
||||
; file_open ,'file_open', \
|
||||
; file_read ,'file_read', \
|
||||
; file_write ,'file_write', \
|
||||
; file_seek ,'file_seek', \
|
||||
; file_tell ,'file_tell', \
|
||||
; file_eof? ,'file_eof?', \
|
||||
; file_truncate ,'file_truncate', \
|
||||
; file_close ,'file_close'
|
||||
|
||||
consoleImport:
|
||||
library \
|
||||
conlib, 'console.obj'
|
||||
|
||||
import conlib, \
|
||||
con.init, 'con.init',\
|
||||
con.exit, 'con.exit',\
|
||||
con.printf, 'con.printf';,\
|
||||
; con.write_asciiz, 'con.write_asciiz'
|
||||
import conlib,\
|
||||
con.init, 'con_init',\
|
||||
con.exit, 'con_exit',\
|
||||
con.printf, 'con_printf' ;,\
|
||||
; con.write_asciiz, 'con_write_asciiz'
|
||||
|
||||
align 16
|
||||
APP_DATA:
|
||||
|
||||
WinTitle:
|
||||
;; Window title
|
||||
window_title:
|
||||
db APP_NAME, ' ', APP_VERSION, 0
|
||||
|
||||
;; Messages
|
||||
message_dbg_not_found:
|
||||
db '%s not found', 10, 0
|
||||
|
||||
@ -330,8 +319,11 @@ message_error:
|
||||
message_ok:
|
||||
db '%s loaded succesfully. PID: %d (0x%X)'
|
||||
|
||||
;; Empty string
|
||||
empty_str:
|
||||
db 0
|
||||
|
||||
;; Configuration path
|
||||
etc_cfg:
|
||||
db '/sys/etc/'
|
||||
cfg_name:
|
||||
@ -339,6 +331,7 @@ cfg_name:
|
||||
cfg_ext:
|
||||
db '.cfg', 0
|
||||
|
||||
;; String in config file
|
||||
cfg_main:
|
||||
db 'main', 0
|
||||
cfg_path:
|
||||
@ -348,7 +341,8 @@ cfg_debug:
|
||||
cfg_level:
|
||||
db 'level', 0
|
||||
|
||||
modes:
|
||||
;; List of debug modes for parsing debug option
|
||||
debug_strings:
|
||||
dd debug_no
|
||||
dd debug_console
|
||||
dd 0
|
||||
@ -358,16 +352,19 @@ debug_no:
|
||||
debug_console:
|
||||
db 'console', 0
|
||||
|
||||
modes_nums:
|
||||
debug_no_num:
|
||||
db 1
|
||||
|
||||
debug_console_num:
|
||||
db 2
|
||||
; modes_nums:
|
||||
; debug_no_num:
|
||||
; db 1
|
||||
;
|
||||
; debug_console_num:
|
||||
; db 2
|
||||
|
||||
debug_level:
|
||||
dd 0
|
||||
|
||||
debug_kobra:
|
||||
db 0
|
||||
|
||||
LaunchStruct FileInfoRun
|
||||
|
||||
args: db 0
|
||||
@ -379,12 +376,15 @@ prog_args:
|
||||
path:
|
||||
rb 1024
|
||||
|
||||
;; Search path will be here
|
||||
search_path:
|
||||
rb PATH_MAX_LEN
|
||||
|
||||
;; debug option as number
|
||||
debug_option:
|
||||
rb DEBUG_MAX_LEN
|
||||
dd 0
|
||||
|
||||
;; Buffer
|
||||
buff:
|
||||
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>ãá᪨© ====================
|
||||
‚¥àá¨ï: 0.1.4
|
||||
‚¥àá¨ï: 0.1.5
|
||||
Launch - ¯à®£à ¬¬ ¤«ï § ¯ã᪠¯à¨«®¦¥¨ï ¨§ ¤¨à¥ªâ®à¨© ¯®¨áª .
|
||||
<EFBFBD>ਠ§ ¯ã᪥ ç¨â ¥â ä ©« launch.cfg ¢ /sys/etc, § ⥬ ¢ ¤¨à¥ªâ®à¨¨ § ¯ã᪠.
|
||||
<EFBFBD>®á«¥ í⮣® ᬮâà¨â ¯ à ¬¥âàë ª®¬ ¤®© áâப¨. <20>ਮà¨â¥â ¯ à ¬¥â஢ - ¯®
|
||||
@ -10,10 +10,10 @@ main.path -
|
||||
debug.debug - ®¯æ¨¨ ®â« ¤ª¨ (no - ¥â ®â« ¤ª¨ ¨«¨ console - ¢ë¢®¤ ç¥à¥§ ª®á®«ì)
|
||||
debug.level - ã஢¥ì ®â« ¤ª¨ (0 - ⮫쪮 á®®¡é¥¨¥ 㤠ç®/¥ã¤ ç®, 1 - ¢ë¢®¤¨âì á®®¡é¥¨¥ ¤«ï ª ¦¤®© ¤¨à¥ªâ®à¨¨)
|
||||
<EFBFBD><EFBFBD>…„“<EFBFBD><EFBFBD>…†„…<EFBFBD>ˆ…:
|
||||
¤«ï ¢ë¢®¤ ¢ ª®á®«ì 㦠¨§¬¥ñ ï ¡¨¡«¨®â¥ª console.obj!
|
||||
¤«ï à ¡®âë 㦠libini ¥ áâ ॥ ॢ¨§¨¨ #1235.
|
||||
|
||||
==================== English ====================
|
||||
Version: 0.1.4
|
||||
Version: 0.1.5
|
||||
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.
|
||||
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.level - debug level (0 - show only ok/error messages, 1 - show for each directory)
|
||||
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