Subversion Repositories Kolibri OS

Rev

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

Rev 78 Rev 83
Line 49... Line 49...
49
file_system_lfn:
49
file_system_lfn:
50
; in: eax->fileinfo block
50
; in: eax->fileinfo block
51
; operation codes:
51
; operation codes:
52
; 0 : read file
52
; 0 : read file
53
; 1 : read folder
53
; 1 : read folder
54
; 2 : rewrite file - not implemented yet
54
; 2 : create/rewrite file
55
; 3 : write/append to file - not implemented yet
55
; 3 : write/append to file - not implemented yet
56
; 4 : start application - not implemented yet
56
; 4 : delete file - not implemented yet
57
; 5 : delete file - not implemented yet
57
; 5 : create directory - not implemented yet
58
; 6 : create directory - not implemented yet
58
; 6 : rename file/directory - not implemented yet
59
; 7 : rename file/directory - not implemented yet
59
; 7 : get file attributes structure - not implemented yet
60
; 8 : get file attributes structure - not implemented yet
60
; 8 : start application - not implemented yet
Line 61... Line 61...
61
 
61
 
62
        add     eax, std_application_base_address
62
        add     eax, std_application_base_address
63
; parse file name
63
; parse file name
64
        xchg    ebx, eax
64
        xchg    ebx, eax
Line 288... Line 288...
288
 
288
 
289
fs_OnRamdisk:
289
fs_OnRamdisk:
290
        cmp     ecx, 1
290
        cmp     ecx, 1
291
        jnz     file_system_lfn.notfound
291
        jnz     file_system_lfn.notfound
292
        mov     eax, [ebx]
292
        mov     eax, [ebx]
293
        cmp     eax, 1
293
        cmp     eax, fs_NumRamdiskServices
294
        ja      .not_impl
294
        jae     .not_impl
295
        mov     ecx, [ebx+12]
295
        mov     ecx, [ebx+12]
296
        mov     edx, [ebx+16]
296
        mov     edx, [ebx+16]
297
        add     edx, std_application_base_address
297
        add     edx, std_application_base_address
298
        add     ebx, 4
298
        add     ebx, 4
Line 305... Line 305...
305
        ret
305
        ret
Line 306... Line 306...
306
 
306
 
307
fs_RamdiskServices:
307
fs_RamdiskServices:
308
        dd      fs_RamdiskRead
308
        dd      fs_RamdiskRead
-
 
309
        dd      fs_RamdiskReadFolder
-
 
310
        dd      fs_RamdiskRewrite
Line 309... Line 311...
309
        dd      fs_RamdiskReadFolder
311
fs_NumRamdiskServices = ($ - fs_RamdiskServices)/4
310
 
312
 
311
fs_OnFloppy:
313
fs_OnFloppy:
312
        cmp     ecx, 2
314
        cmp     ecx, 2
313
        ja      file_system_lfn.notfound
315
        ja      file_system_lfn.notfound
314
        mov     eax, [ebx]
316
        mov     eax, [ebx]
315
        cmp     eax, 1
317
        cmp     eax, fs_NumFloppyServices
316
        ja      fs_OnRamdisk.not_impl
318
        jae     fs_OnRamdisk.not_impl
317
        call    reserve_flp
319
        call    reserve_flp
318
        mov     [flp_number], cl
320
        mov     [flp_number], cl
319
        mov     ecx, [ebx+12]
321
        mov     ecx, [ebx+12]
Line 327... Line 329...
327
        ret
329
        ret
Line 328... Line 330...
328
 
330
 
329
fs_FloppyServices:
331
fs_FloppyServices:
330
        dd      fs_FloppyRead
332
        dd      fs_FloppyRead
-
 
333
        dd      fs_FloppyReadFolder
-
 
334
        dd      fs_FloppyRewrite
Line 331... Line 335...
331
        dd      fs_FloppyReadFolder
335
fs_NumFloppyServices = ($ - fs_FloppyServices)/4
332
 
336
 
333
fs_OnHd0:
337
fs_OnHd0:
334
        call    reserve_hd1
338
        call    reserve_hd1
Line 371... Line 375...
371
        pop     esi ebx
375
        pop     esi ebx
372
        mov     ecx, [ebx+12]
376
        mov     ecx, [ebx+12]
373
        mov     edx, [ebx+16]
377
        mov     edx, [ebx+16]
374
        add     edx, std_application_base_address
378
        add     edx, std_application_base_address
375
        mov     eax, [ebx]
379
        mov     eax, [ebx]
376
        cmp     eax, 1
380
        cmp     eax, fs_NumHdServices
377
        ja      .not_impl
381
        jae     .not_impl
378
        add     ebx, 4
382
        add     ebx, 4
379
        call    dword [fs_HdServices + eax*4]
383
        call    dword [fs_HdServices + eax*4]
380
        and     [hd1_status], 0
384
        and     [hd1_status], 0
381
        mov     [esp+36], eax
385
        mov     [esp+36], eax
382
        mov     [esp+24], ebx
386
        mov     [esp+24], ebx
Line 387... Line 391...
387
        ret
391
        ret
Line 388... Line 392...
388
 
392
 
389
fs_HdServices:
393
fs_HdServices:
390
        dd      fs_HdRead
394
        dd      fs_HdRead
-
 
395
        dd      fs_HdReadFolder
-
 
396
        dd      fs_HdRewrite
Line 391... Line 397...
391
        dd      fs_HdReadFolder
397
fs_NumHdServices = ($ - fs_HdServices)/4
392
 
398
 
393
fs_HasRamdisk:
399
fs_HasRamdisk: