Subversion Repositories Kolibri OS

Rev

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

Rev 3627 Rev 3663
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 3627 $
8
$Revision: 3663 $
9
 
9
 
10
ERROR_SUCCESS        = 0
10
ERROR_SUCCESS        = 0
11
ERROR_DISK_BASE      = 1
11
ERROR_DISK_BASE      = 1
Line 932... Line 932...
932
        pop     eax
932
        pop     eax
933
        inc     eax
933
        inc     eax
934
        ret
934
        ret
Line 935... Line 935...
935
 
935
 
-
 
936
process_replace_file_name:
-
 
937
; in
-
 
938
; esi - path with filename(f.70)
-
 
939
;
-
 
940
; out
-
 
941
; ebp - full filename
936
process_replace_file_name:
942
 
937
        mov     ebp, [full_file_name_table]
943
        mov     ebp, [full_file_name_table]
938
        mov     edi, [full_file_name_table.size]
944
        mov     edi, [full_file_name_table.size]
939
        dec     edi
945
        dec     edi
940
        shl     edi, 7
946
        shl     edi, 7
Line 973... Line 979...
973
.notfound:
979
.notfound:
974
        xor     ebp, ebp
980
        xor     ebp, ebp
975
.ret:
981
.ret:
976
        ret
982
        ret
Line -... Line 983...
-
 
983
 
-
 
984
uglobal
-
 
985
lock_flag_for_f30_3 rb 1
-
 
986
endg
977
 
987
        
978
sys_current_directory:
988
sys_current_directory:
979
;       mov     esi, [current_slot]
989
;       mov     esi, [current_slot]
980
;       mov     esi, [esi+APPDATA.cur_dir]
990
;       mov     esi, [esi+APPDATA.cur_dir]
Line 986... Line 996...
986
 
996
 
987
        dec     ebx
997
        dec     ebx
988
        jz      .set
998
        jz      .set
989
        dec     ebx
999
        dec     ebx
-
 
1000
        jz      .get
-
 
1001
        dec     ebx
990
        jz      .get
1002
        jz      .mount_additional_directory
-
 
1003
        ret
-
 
1004
 
-
 
1005
.mount_additional_directory:
-
 
1006
; sysfunction 30.2: [for app] eax=30,ebx=3,ecx->dir name+dir path (128)
-
 
1007
; for our code: nothing
-
 
1008
 
-
 
1009
; check lock of the function
-
 
1010
        cmp     [lock_flag_for_f30_3], 1
-
 
1011
        je      @f
-
 
1012
        
-
 
1013
        mov     esi, ecx
-
 
1014
        mov     edi, sysdir_name1
-
 
1015
; copying fake directory name
-
 
1016
        mov     ecx, 63
-
 
1017
        cld
-
 
1018
        rep     movsb
-
 
1019
; terminator of name, in case if we get the inlet trash
-
 
1020
        inc     esi
-
 
1021
        xor     eax, eax
-
 
1022
        stosb
-
 
1023
; copying real directory path for mounting
-
 
1024
        mov     ecx, 63
-
 
1025
        rep     movsb
-
 
1026
; terminator of name, in case if we get the inlet trash
-
 
1027
        xor     eax, eax
-
 
1028
        stosb
-
 
1029
; increase the pointer of inputs for procedure "process_replace_file_name"        
-
 
1030
        mov     [full_file_name_table.size], 2
-
 
1031
; block the ability to call f.30.3 because for one session is necessary
-
 
1032
; for us only once
-
 
1033
        mov     [lock_flag_for_f30_3], 1
-
 
1034
@@:
-
 
1035
        ret
991
        ret
1036
        
992
.get:
1037
.get:
993
; sysfunction 30.2: [for app] eax=30,ebx=2,ecx->buffer,edx=len
1038
; sysfunction 30.2: [for app] eax=30,ebx=2,ecx->buffer,edx=len
994
; for our code: ebx->buffer,ecx=len
1039
; for our code: ebx->buffer,ecx=len