Subversion Repositories Kolibri OS

Rev

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

Rev 64 Rev 71
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                                      ;;
2
;;                                                                      ;;
3
;; System service for filesystem call                                   ;;
3
;; System service for filesystem call                                   ;;
4
;; (C) 2004 Ville Turjanmaa, License: GPL                               ;;
4
;; (C) 2004 Ville Turjanmaa, License: GPL                               ;;
5
;;                                                                      ;;
5
;;                                                                      ;;
-
 
6
;; xx.04.2006 LFN support - diamond                                     ;;
6
;; 15.01.2005 get file size/attr/date, file_append (only for hd) - ATV  ;;
7
;; 15.01.2005 get file size/attr/date, file_append (only for hd) - ATV  ;;
7
;; 23.11.2004 test if hd/partition is set - ATV                         ;;
8
;; 23.11.2004 test if hd/partition is set - ATV                         ;;
8
;; 18.11.2004 get_disk_info and more error codes - ATV                  ;;
9
;; 18.11.2004 get_disk_info and more error codes - ATV                  ;;
9
;; 08.11.2004 expand_pathz and rename (only for hd) - ATV               ;;
10
;; 08.11.2004 expand_pathz and rename (only for hd) - ATV               ;;
10
;; 20.10.2004 Makedir/Removedir (only for hd) - ATV                     ;;
11
;; 20.10.2004 Makedir/Removedir (only for hd) - ATV                     ;;
Line 47... Line 48...
47
;
48
;
48
; OUT:
49
; OUT:
49
;
50
;
50
; eax = 0  : read ok
51
; eax = 0  : read ok
51
; eax = 1  : no hd base and/or partition defined
52
; eax = 1  : no hd base and/or partition defined
52
; eax = 2  : yet unsupported FS
53
; eax = 2  : function is unsupported for this FS
53
; eax = 3  : unknown FS
54
; eax = 3  : unknown FS
54
; eax = 4  : partition not defined at hd
55
; eax = 4  : partition not defined at hd
55
; eax = 5  : file not found
56
; eax = 5  : file not found
56
; eax = 6  : end of file
57
; eax = 6  : end of file
57
; eax = 7  : memory pointer not in application area
58
; eax = 7  : memory pointer not in application area
Line 84... Line 85...
84
 
85
 
Line 85... Line 86...
85
; \end{diamond}[18.03.2006]
86
; \end{diamond}[18.03.2006]
86
 
87
 
-
 
88
    ; Extract parameters
-
 
89
    add    eax, std_application_base_address    ; abs start of info block
-
 
90
; \begin{diamond}
-
 
91
	cmp	byte [eax+1], 1
Line 87... Line 92...
87
    ; Extract parameters
92
	jz	file_system_lfn
88
    add    eax, std_application_base_address    ; abs start of info block
93
; \end{diamond}
89
 
94
 
90
    cmp   dword [eax+0],12      ; Get file size
95
    cmp   dword [eax+0],12      ; Get file size
Line 1124... Line 1129...
1124
    stc
1129
    stc
1125
    jmp    i4
1130
    jmp    i4
Line 1126... Line 1131...
1126
 
1131
 
1127
partition_string: dd 0
1132
partition_string: dd 0
-
 
1133
                  db 32
-
 
1134