Rev 9888 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9888 | Rev 9889 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2013-2022. 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: 9888 $ |
8 | $Revision: 9889 $ |
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 81... | Line 81... | ||
81 | XFS_SB_VERSION2_PARENTBIT OR \ |
81 | XFS_SB_VERSION2_PARENTBIT OR \ |
82 | XFS_SB_VERSION2_PROJID32BIT OR \ |
82 | XFS_SB_VERSION2_PROJID32BIT OR \ |
83 | XFS_SB_VERSION2_CRCBIT OR \ |
83 | XFS_SB_VERSION2_CRCBIT OR \ |
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 = 0x01 ; filetype in dirent |
87 | XFS_SB_FEAT_INCOMPAT_SPINODES = 2 ; sparse inode chunks |
87 | XFS_SB_FEAT_INCOMPAT_SPINODES = 0x02 ; sparse inode chunks |
88 | XFS_SB_FEAT_INCOMPAT_META_UUID = 4 ; metadata UUID |
88 | XFS_SB_FEAT_INCOMPAT_META_UUID = 0x04 ; metadata UUID |
- | 89 | XFS_SB_FEAT_INCOMPAT_BIGTIME = 0x08 ; large timestamps |
|
- | 90 | XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR = 0x10 ; e.g. for upgrade to nrext64 |
|
89 | XFS_SB_FEAT_INCOMPAT_BIGTIME = 8 ; large timestamps |
91 | XFS_SB_FEAT_INCOMPAT_NREXT64 = 0x20 ; 64bit extent counters |
90 | XFS_SB_FEAT_INCOMPAT_SUPPORTED = XFS_SB_FEAT_INCOMPAT_FTYPE OR \ |
92 | XFS_SB_FEAT_INCOMPAT_SUPPORTED = XFS_SB_FEAT_INCOMPAT_FTYPE OR \ |
91 | XFS_SB_FEAT_INCOMPAT_SPINODES OR \ |
93 | XFS_SB_FEAT_INCOMPAT_SPINODES OR \ |
92 | XFS_SB_FEAT_INCOMPAT_META_UUID OR \ |
94 | XFS_SB_FEAT_INCOMPAT_META_UUID OR \ |
- | 95 | XFS_SB_FEAT_INCOMPAT_BIGTIME OR \ |
|
Line 93... | Line 96... | ||
93 | XFS_SB_FEAT_INCOMPAT_BIGTIME |
96 | XFS_SB_FEAT_INCOMPAT_NREXT64 |
94 | 97 | ||
95 | ; bitfield lengths for packed extent |
98 | ; bitfield lengths for packed extent |
96 | ; MSB to LSB / left to right |
99 | ; MSB to LSB / left to right |
Line 208... | Line 211... | ||
208 | di_format db ? ; format of di_c data |
211 | di_format db ? ; format of di_c data |
209 | di_onlink dw ? ; old number of links to file |
212 | di_onlink dw ? ; old number of links to file |
210 | di_uid dd ? ; owner's user id |
213 | di_uid dd ? ; owner's user id |
211 | di_gid dd ? ; owner's group id |
214 | di_gid dd ? ; owner's group id |
212 | di_nlink dd ? ; number of links to file |
215 | di_nlink dd ? ; number of links to file |
213 | di_projid dw ? ; owner's project id |
216 | di_projid dd ? ; owner's project id |
214 | di_pad rb 8 ; unused, zeroed space |
- | |
215 | di_flushiter dw ? ; incremented on flush |
217 | di_big_nextents DQ ? ; iff NREXT64 is set |
216 | di_atime DQ ; time last accessed |
218 | di_atime DQ ; time last accessed |
217 | di_mtime DQ ; time last modified |
219 | di_mtime DQ ; time last modified |
218 | di_ctime DQ ; time created/inode modified |
220 | di_ctime DQ ; time created/inode modified |
219 | di_size DQ ? ; number of bytes in file |
221 | di_size DQ ? ; number of bytes in file |
220 | di_nblocks DQ ? ; number of direct & btree blocks used |
222 | di_nblocks DQ ? ; number of direct & btree blocks used |
221 | di_extsize dd ? ; basic/minimum extent size for file |
223 | di_extsize dd ? ; basic/minimum extent size for file |
- | 224 | union |
|
- | 225 | struct |
|
222 | di_nextents dd ? ; number of extents in data fork |
226 | di_nextents dd ? ; number of extents in data fork |
223 | di_anextents dw ? ; number of extents in attribute fork |
227 | di_anextents dw ? ; number of extents in attribute fork |
- | 228 | ends |
|
- | 229 | struct |
|
- | 230 | di_big_anextents dd ? ; attr extent counter is 32bit for NREXT64 |
|
- | 231 | di_nrext64_pad dw ? |
|
- | 232 | ends |
|
- | 233 | ends |
|
224 | di_forkoff db ? ; attr fork offs, <<3 for 64b align |
234 | di_forkoff db ? ; attr fork offs, <<3 for 64b align |
225 | di_aformat db ? ; format of attr fork's data |
235 | di_aformat db ? ; format of attr fork's data |
226 | di_dmevmask dd ? ; DMIG event mask |
236 | di_dmevmask dd ? ; DMIG event mask |
227 | di_dmstate dw ? ; DMIG state info |
237 | di_dmstate dw ? ; DMIG state info |
228 | di_flags dw ? ; random flags, XFS_DIFLAG_... |
238 | di_flags dw ? ; random flags, XFS_DIFLAG_... |
Line 467... | Line 477... | ||
467 | bb_pad dd ? |
477 | bb_pad dd ? |
468 | ends |
478 | ends |
Line 469... | Line 479... | ||
469 | 479 | ||
470 | struct xfs_inode |
480 | struct xfs_inode |
471 | di_core xfs_dinode_core ; main info, aka core |
- | |
472 | union |
- | |
473 | di_u db ? ; data fork inode part |
- | |
474 | dir2_sf xfs_dir2_sf |
- | |
475 | bmx xfs_dir2_bmx |
- | |
476 | ends |
- | |
477 | ; di_a db ? ; data attribute |
- | |
478 | ends |
- | |
479 | - | ||
480 | struct xfs_agf |
- | |
481 | agf_magicnum dd ? ; magic number == XFS_AGF_MAGIC |
- | |
482 | agf_versionnum dd ? ; header version == XFS_AGF_VERSION |
- | |
483 | agf_seqno dd ? ; sequence # starting from 0 |
- | |
484 | agf_length dd ? ; size in blocks of AG |
- | |
485 | agf_roots dd ? |
- | |
486 | agf_levels dd ? |
- | |
487 | agf_flfirst dd ? |
- | |
488 | agf_fllast dd ? |
- | |
489 | agf_flcount dd ? |
- | |
490 | agf_freeblks dd ? ; free blocks in AG |
481 | di_core xfs_dinode_core ; main info, aka core |
Line 491... | Line 482... | ||
491 | ends |
482 | ends |
492 | 483 | ||
493 | ; internal data for every XFS partition |
484 | ; internal data for every XFS partition |
Line 532... | Line 523... | ||
532 | dir_leaf1_size dd ? |
523 | dir_leaf1_size dd ? |
533 | dir_leafn_size dd ? |
524 | dir_leafn_size dd ? |
534 | da_node_size dd ? |
525 | da_node_size dd ? |
535 | da_blkinfo_size dd ? |
526 | da_blkinfo_size dd ? |
536 | conv_time_to_kos_epoch dd ? |
527 | conv_time_to_kos_epoch dd ? |
- | 528 | nextents_offset dd ? |
|
537 | ; helpers, temporary vars, etc |
529 | ; helpers, temporary vars, etc |
538 | ; should go to file descriptor and local vars? |
530 | ; should go to file descriptor and local vars? |
539 | cur_block dd ? |
531 | cur_block dd ? |
540 | cur_block_data dd ? |
532 | cur_block_data dd ? |
541 | cur_inode dd ? |
533 | cur_inode dd ? |