Subversion Repositories Kolibri OS

Rev

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

Rev 7736 Rev 9888
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2013-2020. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2013-2022. 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: 7736 $
8
$Revision: 9888 $
9
 
9
 
10
; file types from stat.h
10
; file types from stat.h
11
S_IFMT      = 0170000o  ; These bits determine file type
11
S_IFMT      = 0170000o  ; These bits determine file type
Line 84... Line 84...
84
                            XFS_SB_VERSION2_FTYPE
84
                            XFS_SB_VERSION2_FTYPE
Line 85... Line 85...
85
 
85
 
86
XFS_SB_FEAT_INCOMPAT_FTYPE     = 1      ; filetype in dirent
86
XFS_SB_FEAT_INCOMPAT_FTYPE     = 1      ; filetype in dirent
87
XFS_SB_FEAT_INCOMPAT_SPINODES  = 2      ; sparse inode chunks
87
XFS_SB_FEAT_INCOMPAT_SPINODES  = 2      ; sparse inode chunks
-
 
88
XFS_SB_FEAT_INCOMPAT_META_UUID = 4      ; metadata UUID
88
XFS_SB_FEAT_INCOMPAT_META_UUID = 4      ; metadata UUID
89
XFS_SB_FEAT_INCOMPAT_BIGTIME   = 8      ; large timestamps
89
XFS_SB_FEAT_INCOMPAT_SUPPORTED = XFS_SB_FEAT_INCOMPAT_FTYPE    OR \
90
XFS_SB_FEAT_INCOMPAT_SUPPORTED = XFS_SB_FEAT_INCOMPAT_FTYPE    OR \
90
                                 XFS_SB_FEAT_INCOMPAT_SPINODES OR \
91
                                 XFS_SB_FEAT_INCOMPAT_SPINODES OR \
-
 
92
                                 XFS_SB_FEAT_INCOMPAT_META_UUID OR \
Line 91... Line 93...
91
                                 XFS_SB_FEAT_INCOMPAT_META_UUID
93
                                 XFS_SB_FEAT_INCOMPAT_BIGTIME
92
 
94
 
93
; bitfield lengths for packed extent
95
; bitfield lengths for packed extent
94
; MSB to LSB / left to right
96
; MSB to LSB / left to right
Line 196... Line 198...
196
        sb_pquotino              DQ ?   ; project quota inode
198
        sb_pquotino              DQ ?   ; project quota inode
197
        sb_lsn                   DQ ?   ; last write sequence
199
        sb_lsn                   DQ ?   ; last write sequence
198
        sb_meta_uuid             rb 16  ; metadata file system unique id
200
        sb_meta_uuid             rb 16  ; metadata file system unique id
199
ends
201
ends
Line 200... Line -...
200
 
-
 
201
; structure to store create, access and modification time in inode core
-
 
202
struct xfs_timestamp
-
 
203
        t_sec           dd ?
-
 
204
        t_nsec          dd ?    ; nanoseconds
-
 
205
ends
-
 
206
 
202
 
207
; inode core structure: basic information about file
203
; inode core structure: basic information about file
208
struct xfs_dinode_core
204
struct xfs_dinode_core
209
        di_magic         dw ?           ; inode magic = XFS_DINODE_MAGIC
205
        di_magic         dw ?           ; inode magic = XFS_DINODE_MAGIC
210
        di_mode          dw ?           ; mode and type of file
206
        di_mode          dw ?           ; mode and type of file
Line 215... Line 211...
215
        di_gid           dd ?           ; owner's group id
211
        di_gid           dd ?           ; owner's group id
216
        di_nlink         dd ?           ; number of links to file
212
        di_nlink         dd ?           ; number of links to file
217
        di_projid        dw ?           ; owner's project id
213
        di_projid        dw ?           ; owner's project id
218
        di_pad           rb 8           ; unused, zeroed space
214
        di_pad           rb 8           ; unused, zeroed space
219
        di_flushiter     dw ?           ; incremented on flush
215
        di_flushiter     dw ?           ; incremented on flush
220
        di_atime         xfs_timestamp  ; time last accessed
216
        di_atime         DQ             ; time last accessed
221
        di_mtime         xfs_timestamp  ; time last modified
217
        di_mtime         DQ               ; time last modified
222
        di_ctime         xfs_timestamp  ; time created/inode modified
218
        di_ctime         DQ             ; time created/inode modified
223
        di_size          DQ ?           ; number of bytes in file
219
        di_size          DQ ?           ; number of bytes in file
224
        di_nblocks       DQ ?           ; number of direct & btree blocks used
220
        di_nblocks       DQ ?           ; number of direct & btree blocks used
225
        di_extsize       dd ?           ; basic/minimum extent size for file
221
        di_extsize       dd ?           ; basic/minimum extent size for file
226
        di_nextents      dd ?           ; number of extents in data fork
222
        di_nextents      dd ?           ; number of extents in data fork
227
        di_anextents     dw ?           ; number of extents in attribute fork
223
        di_anextents     dw ?           ; number of extents in attribute fork
Line 241... Line 237...
241
        di_flags2        DQ ?           ; more random flags
237
        di_flags2        DQ ?           ; more random flags
242
        di_cowextsize    dd ?           ; basic cow extent size for file
238
        di_cowextsize    dd ?           ; basic cow extent size for file
243
        di_pad2          rb 12          ; more padding for future expansion
239
        di_pad2          rb 12          ; more padding for future expansion
Line 244... Line 240...
244
 
240
 
245
        ; fields only written to during inode creation
241
        ; fields only written to during inode creation
246
        di_crtime        xfs_timestamp  ; time created
242
        di_crtime        DQ             ; time created
247
        di_ino           DQ ?           ; inode number
243
        di_ino           DQ ?           ; inode number
248
        di_uuid          rb 16          ; UUID of the filesystem
244
        di_uuid          rb 16          ; UUID of the filesystem
Line 535... Line 531...
535
        dir_data_size           dd ?
531
        dir_data_size           dd ?
536
        dir_leaf1_size          dd ?
532
        dir_leaf1_size          dd ?
537
        dir_leafn_size          dd ?
533
        dir_leafn_size          dd ?
538
        da_node_size            dd ?
534
        da_node_size            dd ?
539
        da_blkinfo_size         dd ?
535
        da_blkinfo_size         dd ?
-
 
536
        conv_time_to_kos_epoch  dd ?
540
        ; helpers, temporary vars, etc
537
        ; helpers, temporary vars, etc
541
        ; should go to file descriptor and local vars?
538
        ; should go to file descriptor and local vars?
542
        cur_block               dd ?
539
        cur_block               dd ?
543
        cur_block_data          dd ?
540
        cur_block_data          dd ?
544
        cur_inode               dd ?
541
        cur_inode               dd ?
Line 607... Line 604...
607
ends
604
ends
Line 608... Line 605...
608
 
605
 
609
struct bdfe
606
struct bdfe
610
        attr     dd ?
607
        attr     dd ?
611
        nameenc  dd ?
-
 
612
;        nameenc  db ?
-
 
613
;        reserved db 3 dup(?)
608
        nameenc  dd ?
614
        ctime    dd ?
609
        ctime    dd ?
615
        cdate    dd ?
610
        cdate    dd ?
616
        atime    dd ?
611
        atime    dd ?
617
        adate    dd ?
612
        adate    dd ?