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 |