Rev 171 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 171 | Rev 256 | ||
---|---|---|---|
Line 187... | Line 187... | ||
187 | 187 | ||
188 | cmp eax,2 |
188 | cmp eax,2 |
189 | jb sfc_error |
189 | jb sfc_error |
190 | cmp eax,[LAST_CLUSTER] |
190 | cmp eax,[LAST_CLUSTER] |
191 | ja sfc_error |
191 | ja sfc_error |
192 | cmp [fat_type],16 |
192 | cmp [fs_type],16 |
193 | je sfc_1 |
193 | je sfc_1 |
194 | add eax,eax |
194 | add eax,eax |
195 | sfc_1: |
195 | sfc_1: |
196 | add eax,eax |
196 | add eax,eax |
Line 215... | Line 215... | ||
215 | cmp [hd_error],0 |
215 | cmp [hd_error],0 |
216 | jne sfc_error |
216 | jne sfc_error |
Line 217... | Line 217... | ||
217 | 217 | ||
218 | 218 | ||
219 | sfc_in_cache: |
219 | sfc_in_cache: |
Line 220... | Line 220... | ||
220 | cmp [fat_type],16 |
220 | cmp [fs_type],16 |
221 | jne sfc_test32 |
221 | jne sfc_test32 |
222 | 222 | ||
Line 251... | Line 251... | ||
251 | ; input : EAX = cluster |
251 | ; input : EAX = cluster |
252 | ; output : EAX = next cluster |
252 | ; output : EAX = next cluster |
253 | ;-------------------------------- |
253 | ;-------------------------------- |
254 | push ebx esi |
254 | push ebx esi |
Line 255... | Line 255... | ||
255 | 255 | ||
256 | cmp [fat_type],16 |
256 | cmp [fs_type],16 |
257 | je gfc_1 |
257 | je gfc_1 |
258 | add eax,eax |
258 | add eax,eax |
259 | gfc_1: |
259 | gfc_1: |
260 | add eax,eax |
260 | add eax,eax |
Line 379... | Line 379... | ||
379 | ja adr_not_found ; too big cluster number, something is wrong |
379 | ja adr_not_found ; too big cluster number, something is wrong |
380 | cmp eax,2 |
380 | cmp eax,2 |
381 | jnb adr_data_cluster |
381 | jnb adr_data_cluster |
Line 382... | Line 382... | ||
382 | 382 | ||
383 | mov eax,[ROOT_CLUSTER] ; if cluster < 2 then read rootdir |
383 | mov eax,[ROOT_CLUSTER] ; if cluster < 2 then read rootdir |
384 | cmp [fat_type],16 |
384 | cmp [fs_type],16 |
385 | jne adr_data_cluster |
385 | jne adr_data_cluster |
386 | mov eax,[ROOT_START] |
386 | mov eax,[ROOT_START] |
387 | mov edx,[ROOT_SECTORS] |
387 | mov edx,[ROOT_SECTORS] |
388 | mov [fat16_root],1 ; flag for fat16 rootdir |
388 | mov [fat16_root],1 ; flag for fat16 rootdir |
Line 474... | Line 474... | ||
474 | ja adw_not_found ; too big cluster number, something is wrong |
474 | ja adw_not_found ; too big cluster number, something is wrong |
475 | cmp eax,2 |
475 | cmp eax,2 |
476 | jnb adw_data_cluster |
476 | jnb adw_data_cluster |
Line 477... | Line 477... | ||
477 | 477 | ||
478 | mov eax,[ROOT_CLUSTER] ; if cluster < 2 then read rootdir |
478 | mov eax,[ROOT_CLUSTER] ; if cluster < 2 then read rootdir |
479 | cmp [fat_type],16 |
479 | cmp [fs_type],16 |
480 | jne adw_data_cluster |
480 | jne adw_data_cluster |
481 | mov eax,[ROOT_START] |
481 | mov eax,[ROOT_START] |
482 | mov edx,[ROOT_SECTORS] |
482 | mov edx,[ROOT_SECTORS] |
483 | mov [fat16_root],1 ; flag for fat16 rootdir |
483 | mov [fat16_root],1 ; flag for fat16 rootdir |
Line 597... | Line 597... | ||
597 | ja gdc_error ; too big cluster number, something is wrong |
597 | ja gdc_error ; too big cluster number, something is wrong |
598 | cmp eax,2 |
598 | cmp eax,2 |
599 | jnb gdc_cluster |
599 | jnb gdc_cluster |
Line 600... | Line 600... | ||
600 | 600 | ||
601 | mov eax,[ROOT_CLUSTER] ; if cluster < 2 then read rootdir |
601 | mov eax,[ROOT_CLUSTER] ; if cluster < 2 then read rootdir |
602 | cmp [fat_type],16 |
602 | cmp [fs_type],16 |
603 | jne gdc_cluster |
603 | jne gdc_cluster |
604 | mov eax,[ROOT_START] |
604 | mov eax,[ROOT_START] |
605 | mov ecx,[ROOT_SECTORS] ; Note: not cluster size |
605 | mov ecx,[ROOT_SECTORS] ; Note: not cluster size |
606 | mov [fat16_root],1 ; flag for fat16 rootdir |
606 | mov [fat16_root],1 ; flag for fat16 rootdir |
Line 815... | Line 815... | ||
815 | ; 5 - file not found |
815 | ; 5 - file not found |
816 | ; 8 - disk full |
816 | ; 8 - disk full |
817 | ; 10 - access denied |
817 | ; 10 - access denied |
818 | ; Note : can only make one directory at time |
818 | ; Note : can only make one directory at time |
819 | ;----------------------------------------------------- |
819 | ;----------------------------------------------------- |
820 | cmp [fat_type],0 |
820 | cmp [fs_type], 16 |
821 | jnz make_dir_fat_ok |
821 | jz make_dir_fat_ok |
- | 822 | cmp [fs_type], 32 |
|
- | 823 | jz make_dir_fat_ok |
|
822 | mov eax,ERROR_UNKNOWN_FS |
824 | push ERROR_UNKNOWN_FS |
- | 825 | pop eax |
|
823 | ret |
826 | ret |
Line 824... | Line 827... | ||
824 | 827 | ||
825 | make_dir_fat_ok: |
828 | make_dir_fat_ok: |
Line 993... | Line 996... | ||
993 | ; Note : negative = remove clusters from free space |
996 | ; Note : negative = remove clusters from free space |
994 | ; positive = add clusters to free space |
997 | ; positive = add clusters to free space |
995 | ;----------------------------------------------------- |
998 | ;----------------------------------------------------- |
996 | test ecx,ecx ; no change |
999 | test ecx,ecx ; no change |
997 | je add_dfs_no |
1000 | je add_dfs_no |
998 | cmp [fat_type],32 ; free disk space only used by fat32 |
1001 | cmp [fs_type],32 ; free disk space only used by fat32 |
999 | jne add_dfs_no |
1002 | jne add_dfs_no |
Line 1000... | Line 1003... | ||
1000 | 1003 | ||
1001 | push eax ebx |
1004 | push eax ebx |
1002 | mov eax,[ADR_FSINFO] |
1005 | mov eax,[ADR_FSINFO] |
Line 1034... | Line 1037... | ||
1034 | ; 3 - unknown FS |
1037 | ; 3 - unknown FS |
1035 | ; 5 - file not found |
1038 | ; 5 - file not found |
1036 | ; 8 - disk full |
1039 | ; 8 - disk full |
1037 | ; 10 - access denied |
1040 | ; 10 - access denied |
1038 | ;-------------------------------------------------------------------------- |
1041 | ;-------------------------------------------------------------------------- |
- | 1042 | cmp [fs_type], 16 |
|
- | 1043 | jz fat_ok_for_writing |
|
1039 | cmp [fat_type],0 |
1044 | cmp [fs_type], 32 |
1040 | jnz fat_ok_for_writing |
1045 | jz fat_ok_for_writing |
1041 | mov eax,ERROR_UNKNOWN_FS |
1046 | push ERROR_UNKNOWN_FS |
- | 1047 | pop eax |
|
1042 | ret |
1048 | ret |
Line 1043... | Line 1049... | ||
1043 | 1049 | ||
1044 | fat_ok_for_writing: |
1050 | fat_ok_for_writing: |
Line 1220... | Line 1226... | ||
1220 | ; 6 - end of file |
1226 | ; 6 - end of file |
1221 | ; 9 - fat table corrupted |
1227 | ; 9 - fat table corrupted |
1222 | ; 10 - access denied |
1228 | ; 10 - access denied |
1223 | ; ebx = size of file/directory |
1229 | ; ebx = size of file/directory |
1224 | ;-------------------------------------------------------------------------- |
1230 | ;-------------------------------------------------------------------------- |
- | 1231 | cmp [fs_type], 16 |
|
- | 1232 | jz fat_ok_for_reading |
|
1225 | cmp [fat_type],0 |
1233 | cmp [fs_type], 32 |
1226 | jnz fat_ok_for_reading |
1234 | jz fat_ok_for_reading |
1227 | xor ebx,ebx |
1235 | xor ebx,ebx |
1228 | mov eax,ERROR_UNKNOWN_FS |
1236 | mov eax,ERROR_UNKNOWN_FS |
1229 | mov [hd1_status], ebx |
1237 | mov [hd1_status], ebx |
1230 | ret |
1238 | ret |
Line 1342... | Line 1350... | ||
1342 | test eax,eax |
1350 | test eax,eax |
1343 | jnz dir_size_next |
1351 | jnz dir_size_next |
Line 1344... | Line 1352... | ||
1344 | 1352 | ||
1345 | mov eax,[ROOT_SECTORS] |
1353 | mov eax,[ROOT_SECTORS] |
1346 | shl eax,9 ; fat16 rootdir size in bytes |
1354 | shl eax,9 ; fat16 rootdir size in bytes |
1347 | cmp [fat_type],16 |
1355 | cmp [fs_type],16 |
1348 | je dir_size_ret |
1356 | je dir_size_ret |
Line 1349... | Line 1357... | ||
1349 | mov eax,[ROOT_CLUSTER] |
1357 | mov eax,[ROOT_CLUSTER] |
1350 | 1358 | ||
Line 1377... | Line 1385... | ||
1377 | ; output : eax = 0 - ok |
1385 | ; output : eax = 0 - ok |
1378 | ; 3 - unknown FS |
1386 | ; 3 - unknown FS |
1379 | ; 5 - file not found |
1387 | ; 5 - file not found |
1380 | ; 10 - access denied |
1388 | ; 10 - access denied |
1381 | ;----------------------------------------------------- |
1389 | ;----------------------------------------------------- |
1382 | cmp [fat_type],0 |
1390 | cmp [fs_type], 16 |
1383 | jnz file_del_fat_ok |
1391 | jz file_del_fat_ok |
- | 1392 | cmp [fs_type], 32 |
|
- | 1393 | jz file_del_fat_ok |
|
1384 | mov eax,ERROR_UNKNOWN_FS |
1394 | push ERROR_UNKNOWN_FS |
- | 1395 | pop eax |
|
1385 | ret |
1396 | ret |
Line 1386... | Line 1397... | ||
1386 | 1397 | ||
1387 | file_del_fat_ok: |
1398 | file_del_fat_ok: |
Line 1663... | Line 1674... | ||
1663 | ; 3 - unknown FS |
1674 | ; 3 - unknown FS |
1664 | ; 5 - file not found |
1675 | ; 5 - file not found |
1665 | ; 8 - disk full |
1676 | ; 8 - disk full |
1666 | ; 10 - access denied |
1677 | ; 10 - access denied |
1667 | ;----------------------------------------------------------- |
1678 | ;----------------------------------------------------------- |
1668 | cmp [fat_type],0 |
1679 | cmp [fs_type], 16 |
1669 | jnz fat_ok_for_rename |
1680 | jz fat_ok_for_rename |
- | 1681 | cmp [fs_type], 32 |
|
- | 1682 | jz fat_ok_for_rename |
|
1670 | mov eax,ERROR_UNKNOWN_FS |
1683 | push ERROR_UNKNOWN_FS |
- | 1684 | pop eax |
|
1671 | ret |
1685 | ret |
Line 1672... | Line 1686... | ||
1672 | 1686 | ||
1673 | fat_ok_for_rename: |
1687 | fat_ok_for_rename: |
Line 1823... | Line 1837... | ||
1823 | ; 10 - access denied |
1837 | ; 10 - access denied |
1824 | ; edx = cluster size in bytes |
1838 | ; edx = cluster size in bytes |
1825 | ; ebx = total clusters on disk |
1839 | ; ebx = total clusters on disk |
1826 | ; ecx = free clusters on disk |
1840 | ; ecx = free clusters on disk |
1827 | ;----------------------------------------------------------- |
1841 | ;----------------------------------------------------------- |
- | 1842 | cmp [fs_type], 16 |
|
- | 1843 | jz info_fat_ok |
|
1828 | cmp [fat_type],0 |
1844 | cmp [fs_type], 32 |
1829 | jnz info_fat_ok |
1845 | jz info_fat_ok |
1830 | xor edx,edx |
1846 | xor edx,edx |
1831 | xor ebx,ebx |
1847 | xor ebx,ebx |
1832 | xor ecx,ecx |
1848 | xor ecx,ecx |
1833 | mov eax,ERROR_UNKNOWN_FS |
1849 | mov eax,ERROR_UNKNOWN_FS |
1834 | ret |
1850 | ret |
Line 1947... | Line 1963... | ||
1947 | push 0 |
1963 | push 0 |
1948 | push 0 |
1964 | push 0 |
1949 | push fat16_root_first |
1965 | push fat16_root_first |
1950 | push fat16_root_next |
1966 | push fat16_root_next |
1951 | mov eax, [ROOT_CLUSTER] |
1967 | mov eax, [ROOT_CLUSTER] |
1952 | cmp [fat_type], 32 |
1968 | cmp [fs_type], 32 |
1953 | jz .fat32 |
1969 | jz .fat32 |
1954 | .loop: |
1970 | .loop: |
1955 | call fat_find_lfn |
1971 | call fat_find_lfn |
1956 | jc .notfound |
1972 | jc .notfound |
1957 | cmp byte [esi], 0 |
1973 | cmp byte [esi], 0 |
Line 1998... | Line 2014... | ||
1998 | ; ret ebx = bytes read or 0xffffffff file not found |
2014 | ; ret ebx = bytes read or 0xffffffff file not found |
1999 | ; eax = 0 ok read or other = errormsg |
2015 | ; eax = 0 ok read or other = errormsg |
2000 | ; |
2016 | ; |
2001 | ;-------------------------------------------------------------- |
2017 | ;-------------------------------------------------------------- |
2002 | fs_HdRead: |
2018 | fs_HdRead: |
2003 | cmp [fat_type], 0 |
2019 | cmp [fs_type], 16 |
2004 | jnz @f |
2020 | jz @f |
- | 2021 | cmp [fs_type], 32 |
|
- | 2022 | jz @f |
|
- | 2023 | cmp [fs_type], 1 |
|
- | 2024 | jz ntfs_HdRead |
|
2005 | or ebx, -1 |
2025 | or ebx, -1 |
2006 | mov eax, ERROR_UNKNOWN_FS |
2026 | mov eax, ERROR_UNKNOWN_FS |
2007 | ret |
2027 | ret |
2008 | @@: |
2028 | @@: |
2009 | push edi |
2029 | push edi |
Line 2153... | Line 2173... | ||
2153 | ; ret ebx = blocks read or 0xffffffff folder not found |
2173 | ; ret ebx = blocks read or 0xffffffff folder not found |
2154 | ; eax = 0 ok read or other = errormsg |
2174 | ; eax = 0 ok read or other = errormsg |
2155 | ; |
2175 | ; |
2156 | ;-------------------------------------------------------------- |
2176 | ;-------------------------------------------------------------- |
2157 | fs_HdReadFolder: |
2177 | fs_HdReadFolder: |
- | 2178 | cmp [fs_type], 1 |
|
- | 2179 | jz ntfs_HdReadFolder |
|
- | 2180 | cmp [fs_type], 16 |
|
- | 2181 | jz @f |
|
- | 2182 | cmp [fs_type], 32 |
|
- | 2183 | jz @f |
|
- | 2184 | push ERROR_UNSUPPORTED_FS |
|
- | 2185 | pop eax |
|
- | 2186 | or ebx, -1 |
|
- | 2187 | ret |
|
- | 2188 | @@: |
|
2158 | mov eax, [ROOT_CLUSTER] |
2189 | mov eax, [ROOT_CLUSTER] |
2159 | push edi |
2190 | push edi |
2160 | cmp byte [esi], 0 |
2191 | cmp byte [esi], 0 |
2161 | jz .doit |
2192 | jz .doit |
2162 | call hd_find_lfn |
2193 | call hd_find_lfn |
Line 2193... | Line 2224... | ||
2193 | mov esi, edi ; esi points to BDFE |
2224 | mov esi, edi ; esi points to BDFE |
2194 | .new_cluster: |
2225 | .new_cluster: |
2195 | mov [cluster_tmp], eax |
2226 | mov [cluster_tmp], eax |
2196 | test eax, eax |
2227 | test eax, eax |
2197 | jnz @f |
2228 | jnz @f |
2198 | cmp [fat_type], 32 |
2229 | cmp [fs_type], 32 |
2199 | jz .notfound |
2230 | jz .notfound |
2200 | mov eax, [ROOT_START] |
2231 | mov eax, [ROOT_START] |
2201 | push [ROOT_SECTORS] |
2232 | push [ROOT_SECTORS] |
2202 | push ebx |
2233 | push ebx |
2203 | jmp .new_sector |
2234 | jmp .new_sector |
Line 2523... | Line 2554... | ||
2523 | mov eax, ERROR_UNKNOWN_FS |
2554 | mov eax, ERROR_UNKNOWN_FS |
2524 | xor ebx, ebx |
2555 | xor ebx, ebx |
2525 | ret |
2556 | ret |
Line 2526... | Line 2557... | ||
2526 | 2557 | ||
2527 | fs_HdRewrite: |
2558 | fs_HdRewrite: |
- | 2559 | cmp [fs_type], 1 |
|
- | 2560 | jz ntfs_HdRewrite |
|
- | 2561 | cmp [fs_type], 16 |
|
- | 2562 | jz @f |
|
2528 | cmp [fat_type], 0 |
2563 | cmp [fs_type], 32 |
- | 2564 | jnz fshrfs |
|
2529 | jz fshrfs |
2565 | @@: |
2530 | cmp byte [esi], 0 |
2566 | cmp byte [esi], 0 |
2531 | jz fshrad |
2567 | jz fshrad |
2532 | pushad |
2568 | pushad |
2533 | xor ebp, ebp |
2569 | xor ebp, ebp |
Line 2543... | Line 2579... | ||
2543 | @@: |
2579 | @@: |
2544 | pop esi |
2580 | pop esi |
2545 | test ebp, ebp |
2581 | test ebp, ebp |
2546 | jnz .noroot |
2582 | jnz .noroot |
2547 | mov ebp, [ROOT_CLUSTER] |
2583 | mov ebp, [ROOT_CLUSTER] |
2548 | cmp [fat_type], 32 |
2584 | cmp [fs_type], 32 |
2549 | jz .pushnotroot |
2585 | jz .pushnotroot |
2550 | push fat16_root_extend_dir |
2586 | push fat16_root_extend_dir |
2551 | push fat16_root_end_write |
2587 | push fat16_root_end_write |
2552 | push fat16_root_next_write |
2588 | push fat16_root_next_write |
2553 | push fat16_root_begin_write |
2589 | push fat16_root_begin_write |
Line 2942... | Line 2978... | ||
2942 | popad |
2978 | popad |
2943 | ret |
2979 | ret |
Line 2944... | Line 2980... | ||
2944 | 2980 | ||
2945 | ;---------------------------------------------------------------- |
2981 | ;---------------------------------------------------------------- |
2946 | ; |
2982 | ; |
2947 | ; fs_HdWrite - LFN variant for writing to floppy |
2983 | ; fs_HdWrite - LFN variant for writing to hard disk |
2948 | ; |
2984 | ; |
2949 | ; esi points to filename |
2985 | ; esi points to filename |
2950 | ; ebx pointer to 64-bit number = first wanted byte, 0+ |
2986 | ; ebx pointer to 64-bit number = first wanted byte, 0+ |
2951 | ; may be ebx=0 - start from first byte |
2987 | ; may be ebx=0 - start from first byte |
Line 2966... | Line 3002... | ||
2966 | fs_HdWrite.ret11: |
3002 | fs_HdWrite.ret11: |
2967 | push 11 |
3003 | push 11 |
2968 | jmp fs_HdWrite.ret0 |
3004 | jmp fs_HdWrite.ret0 |
Line 2969... | Line 3005... | ||
2969 | 3005 | ||
2970 | fs_HdWrite: |
3006 | fs_HdWrite: |
- | 3007 | cmp [fs_type], 1 |
|
- | 3008 | jz ntfs_HdWrite |
|
- | 3009 | cmp [fs_type], 16 |
|
- | 3010 | jz @f |
|
2971 | cmp [fat_type], 0 |
3011 | cmp [fs_type], 32 |
2972 | jnz @f |
3012 | jz @f |
2973 | push ERROR_UNKNOWN_FS |
3013 | push ERROR_UNKNOWN_FS |
2974 | jmp .ret0 |
3014 | jmp .ret0 |
2975 | @@: |
3015 | @@: |
2976 | cmp byte [esi], 0 |
3016 | cmp byte [esi], 0 |
Line 3299... | Line 3339... | ||
3299 | ; |
3339 | ; |
3300 | ; ret eax = 0 ok or other = errormsg |
3340 | ; ret eax = 0 ok or other = errormsg |
3301 | ; |
3341 | ; |
3302 | ;-------------------------------------------------------------- |
3342 | ;-------------------------------------------------------------- |
3303 | fs_HdSetFileEnd: |
3343 | fs_HdSetFileEnd: |
3304 | cmp [fat_type], 0 |
3344 | cmp [fs_type], 1 |
- | 3345 | jz ntfs_HdSetFileEnd |
|
- | 3346 | cmp [fs_type], 16 |
|
- | 3347 | jz @f |
|
- | 3348 | cmp [fs_type], 32 |
|
3305 | jnz @f |
3349 | jz @f |
3306 | push ERROR_UNKNOWN_FS |
3350 | push ERROR_UNKNOWN_FS |
3307 | .ret: |
3351 | .ret: |
3308 | pop eax |
3352 | pop eax |
3309 | ret |
3353 | ret |
3310 | @@: |
3354 | @@: |
Line 3527... | Line 3571... | ||
3527 | mov al, 11 |
3571 | mov al, 11 |
3528 | @@: |
3572 | @@: |
3529 | ret |
3573 | ret |
Line 3530... | Line 3574... | ||
3530 | 3574 | ||
3531 | fs_HdGetFileInfo: |
3575 | fs_HdGetFileInfo: |
- | 3576 | cmp [fs_type], 1 |
|
- | 3577 | jz ntfs_HdGetFileInfo |
|
- | 3578 | cmp [fs_type], 16 |
|
- | 3579 | jz @f |
|
3532 | cmp [fat_type], 0 |
3580 | cmp [fs_type], 32 |
3533 | jnz @f |
3581 | jz @f |
3534 | mov eax, ERROR_UNKNOWN_FS |
3582 | mov eax, ERROR_UNKNOWN_FS |
3535 | ret |
3583 | ret |
3536 | @@: |
3584 | @@: |
3537 | cmp byte [esi], 0 |
3585 | cmp byte [esi], 0 |
Line 3551... | Line 3599... | ||
3551 | @@: |
3599 | @@: |
3552 | popfd |
3600 | popfd |
3553 | jmp fs_GetFileInfo_finish |
3601 | jmp fs_GetFileInfo_finish |
Line 3554... | Line 3602... | ||
3554 | 3602 | ||
3555 | fs_HdSetFileInfo: |
3603 | fs_HdSetFileInfo: |
- | 3604 | cmp [fs_type], 1 |
|
- | 3605 | jz ntfs_HdSetFileInfo |
|
- | 3606 | cmp [fs_type], 16 |
|
- | 3607 | jz @f |
|
3556 | cmp [fat_type], 0 |
3608 | cmp [fs_type], 32 |
3557 | jnz @f |
3609 | jz @f |
3558 | mov eax, ERROR_UNKNOWN_FS |
3610 | mov eax, ERROR_UNKNOWN_FS |
3559 | ret |
3611 | ret |
3560 | @@: |
3612 | @@: |
3561 | cmp byte [esi], 0 |
3613 | cmp byte [esi], 0 |
Line 3587... | Line 3639... | ||
3587 | call update_disk |
3639 | call update_disk |
3588 | pop edi |
3640 | pop edi |
3589 | xor eax, eax |
3641 | xor eax, eax |
3590 | ret |
3642 | ret |
Line -... | Line 3643... | ||
- | 3643 | ||
- | 3644 | if 0 ; starting from revision 237 execute is implemented in taskman.inc |
|
3591 | 3645 | ; through fs_XxxGetFileInfo and fs_XxxRead |
|
3592 | ;---------------------------------------------------------------- |
3646 | ;---------------------------------------------------------------- |
3593 | ; |
3647 | ; |
3594 | ; fs_HdExecute - LFN variant for executing from harddisk |
3648 | ; fs_HdExecute - LFN variant for executing from harddisk |
3595 | ; |
3649 | ; |
Line 3706... | Line 3760... | ||
3706 | ret |
3760 | ret |
3707 | .err: |
3761 | .err: |
3708 | popad |
3762 | popad |
3709 | mov eax, 11 |
3763 | mov eax, 11 |
3710 | ret |
3764 | ret |
- | 3765 | end if |
|
Line 3711... | Line 3766... | ||
3711 | 3766 | ||
3712 | ;---------------------------------------------------------------- |
3767 | ;---------------------------------------------------------------- |
3713 | ; |
3768 | ; |
3714 | ; fs_HdDelete - delete file or empty folder from hard disk |
3769 | ; fs_HdDelete - delete file or empty folder from hard disk |
Line 3717... | Line 3772... | ||
3717 | ; |
3772 | ; |
3718 | ; ret eax = 0 ok or other = errormsg |
3773 | ; ret eax = 0 ok or other = errormsg |
3719 | ; |
3774 | ; |
3720 | ;-------------------------------------------------------------- |
3775 | ;-------------------------------------------------------------- |
3721 | fs_HdDelete: |
3776 | fs_HdDelete: |
3722 | cmp [fat_type], 0 |
3777 | cmp [fs_type], 1 |
- | 3778 | jz ntfs_HdDelete |
|
- | 3779 | cmp [fs_type], 16 |
|
- | 3780 | jz @f |
|
- | 3781 | cmp [fs_type], 32 |
|
3723 | jnz @f |
3782 | jz @f |
3724 | push ERROR_UNKNOWN_FS |
3783 | push ERROR_UNKNOWN_FS |
3725 | .pop_ret: |
3784 | .pop_ret: |
3726 | pop eax |
3785 | pop eax |
3727 | ret |
3786 | ret |
3728 | @@: |
3787 | @@: |