ReactOS  0.4.15-dev-5142-g967f5b9
btrfs.h
Go to the documentation of this file.
1 /* btrfs.h
2  * Generic btrfs header file. Thanks to whoever it was who wrote
3  * https://btrfs.wiki.kernel.org/index.php/On-disk_Format - you saved me a lot of time!
4  *
5  * I release this file, and this file only, into the public domain - do whatever
6  * you want with it. You don't have to, but I'd appreciate if you let me know if you
7  * use it anything cool - mark@harmstone.com. */
8 
9 #pragma once
10 
11 #include <stdint.h>
12 #ifndef __REACTOS__
13 #include <assert.h>
14 #endif // __REACTOS__
15 
16 static const uint64_t superblock_addrs[] = { 0x10000, 0x4000000, 0x4000000000, 0x4000000000000, 0 };
17 
18 #define BTRFS_MAGIC 0x4d5f53665248425f
19 #define MAX_LABEL_SIZE 0x100
20 #define SUBVOL_ROOT_INODE 0x100
21 #define BTRFS_LAST_FREE_OBJECTID 0xffffffffffffff00
22 
23 #define TYPE_INODE_ITEM 0x01
24 #define TYPE_INODE_REF 0x0C
25 #define TYPE_INODE_EXTREF 0x0D
26 #define TYPE_XATTR_ITEM 0x18
27 #define TYPE_ORPHAN_INODE 0x30
28 #define TYPE_DIR_ITEM 0x54
29 #define TYPE_DIR_INDEX 0x60
30 #define TYPE_EXTENT_DATA 0x6C
31 #define TYPE_EXTENT_CSUM 0x80
32 #define TYPE_ROOT_ITEM 0x84
33 #define TYPE_ROOT_BACKREF 0x90
34 #define TYPE_ROOT_REF 0x9C
35 #define TYPE_EXTENT_ITEM 0xA8
36 #define TYPE_METADATA_ITEM 0xA9
37 #define TYPE_TREE_BLOCK_REF 0xB0
38 #define TYPE_EXTENT_DATA_REF 0xB2
39 #define TYPE_EXTENT_REF_V0 0xB4
40 #define TYPE_SHARED_BLOCK_REF 0xB6
41 #define TYPE_SHARED_DATA_REF 0xB8
42 #define TYPE_BLOCK_GROUP_ITEM 0xC0
43 #define TYPE_FREE_SPACE_INFO 0xC6
44 #define TYPE_FREE_SPACE_EXTENT 0xC7
45 #define TYPE_FREE_SPACE_BITMAP 0xC8
46 #define TYPE_DEV_EXTENT 0xCC
47 #define TYPE_DEV_ITEM 0xD8
48 #define TYPE_CHUNK_ITEM 0xE4
49 #define TYPE_TEMP_ITEM 0xF8
50 #define TYPE_DEV_STATS 0xF9
51 #define TYPE_SUBVOL_UUID 0xFB
52 #define TYPE_SUBVOL_REC_UUID 0xFC
53 
54 #define BTRFS_ROOT_ROOT 1
55 #define BTRFS_ROOT_EXTENT 2
56 #define BTRFS_ROOT_CHUNK 3
57 #define BTRFS_ROOT_DEVTREE 4
58 #define BTRFS_ROOT_FSTREE 5
59 #define BTRFS_ROOT_TREEDIR 6
60 #define BTRFS_ROOT_CHECKSUM 7
61 #define BTRFS_ROOT_UUID 9
62 #define BTRFS_ROOT_FREE_SPACE 0xa
63 #define BTRFS_ROOT_DATA_RELOC 0xFFFFFFFFFFFFFFF7
64 
65 #define BTRFS_COMPRESSION_NONE 0
66 #define BTRFS_COMPRESSION_ZLIB 1
67 #define BTRFS_COMPRESSION_LZO 2
68 #define BTRFS_COMPRESSION_ZSTD 3
69 
70 #define BTRFS_ENCRYPTION_NONE 0
71 
72 #define BTRFS_ENCODING_NONE 0
73 
74 #define EXTENT_TYPE_INLINE 0
75 #define EXTENT_TYPE_REGULAR 1
76 #define EXTENT_TYPE_PREALLOC 2
77 
78 #define BLOCK_FLAG_DATA 0x001
79 #define BLOCK_FLAG_SYSTEM 0x002
80 #define BLOCK_FLAG_METADATA 0x004
81 #define BLOCK_FLAG_RAID0 0x008
82 #define BLOCK_FLAG_RAID1 0x010
83 #define BLOCK_FLAG_DUPLICATE 0x020
84 #define BLOCK_FLAG_RAID10 0x040
85 #define BLOCK_FLAG_RAID5 0x080
86 #define BLOCK_FLAG_RAID6 0x100
87 #define BLOCK_FLAG_RAID1C3 0x200
88 #define BLOCK_FLAG_RAID1C4 0x400
89 
90 #define FREE_SPACE_CACHE_ID 0xFFFFFFFFFFFFFFF5
91 #define EXTENT_CSUM_ID 0xFFFFFFFFFFFFFFF6
92 #define BALANCE_ITEM_ID 0xFFFFFFFFFFFFFFFC
93 
94 #define BTRFS_INODE_NODATASUM 0x001
95 #define BTRFS_INODE_NODATACOW 0x002
96 #define BTRFS_INODE_READONLY 0x004
97 #define BTRFS_INODE_NOCOMPRESS 0x008
98 #define BTRFS_INODE_PREALLOC 0x010
99 #define BTRFS_INODE_SYNC 0x020
100 #define BTRFS_INODE_IMMUTABLE 0x040
101 #define BTRFS_INODE_APPEND 0x080
102 #define BTRFS_INODE_NODUMP 0x100
103 #define BTRFS_INODE_NOATIME 0x200
104 #define BTRFS_INODE_DIRSYNC 0x400
105 #define BTRFS_INODE_COMPRESS 0x800
106 
107 #define BTRFS_INODE_RO_VERITY 0x1
108 
109 #define BTRFS_SUBVOL_READONLY 0x1
110 
111 #define BTRFS_COMPAT_RO_FLAGS_FREE_SPACE_CACHE 0x1
112 #define BTRFS_COMPAT_RO_FLAGS_FREE_SPACE_CACHE_VALID 0x2
113 #define BTRFS_COMPAT_RO_FLAGS_VERITY 0x4
114 
115 #define BTRFS_INCOMPAT_FLAGS_MIXED_BACKREF 0x0001
116 #define BTRFS_INCOMPAT_FLAGS_DEFAULT_SUBVOL 0x0002
117 #define BTRFS_INCOMPAT_FLAGS_MIXED_GROUPS 0x0004
118 #define BTRFS_INCOMPAT_FLAGS_COMPRESS_LZO 0x0008
119 #define BTRFS_INCOMPAT_FLAGS_COMPRESS_ZSTD 0x0010
120 #define BTRFS_INCOMPAT_FLAGS_BIG_METADATA 0x0020
121 #define BTRFS_INCOMPAT_FLAGS_EXTENDED_IREF 0x0040
122 #define BTRFS_INCOMPAT_FLAGS_RAID56 0x0080
123 #define BTRFS_INCOMPAT_FLAGS_SKINNY_METADATA 0x0100
124 #define BTRFS_INCOMPAT_FLAGS_NO_HOLES 0x0200
125 #define BTRFS_INCOMPAT_FLAGS_METADATA_UUID 0x0400
126 #define BTRFS_INCOMPAT_FLAGS_RAID1C34 0x0800
127 
128 #define BTRFS_SUPERBLOCK_FLAGS_SEEDING 0x100000000
129 
130 #define BTRFS_ORPHAN_INODE_OBJID 0xFFFFFFFFFFFFFFFB
131 
132 #define CSUM_TYPE_CRC32C 0
133 #define CSUM_TYPE_XXHASH 1
134 #define CSUM_TYPE_SHA256 2
135 #define CSUM_TYPE_BLAKE2 3
136 
137 #pragma pack(push, 1)
138 
139 typedef struct {
141 } BTRFS_UUID;
142 
143 typedef struct {
147 } KEY;
148 
149 #define HEADER_FLAG_WRITTEN 0x000000000000001
150 #define HEADER_FLAG_SHARED_BACKREF 0x000000000000002
151 #define HEADER_FLAG_MIXED_BACKREF 0x100000000000000
152 
153 typedef struct {
163 } tree_header;
164 
165 typedef struct {
169 } leaf_node;
170 
171 typedef struct {
175 } internal_node;
176 
177 typedef struct {
192 } DEV_ITEM;
193 
194 #define SYS_CHUNK_ARRAY_SIZE 0x800
195 #define BTRFS_NUM_BACKUP_ROOTS 4
196 
197 typedef struct {
222 
223 typedef struct {
257  uint8_t sys_chunk_array[SYS_CHUNK_ARRAY_SIZE];
260 } superblock;
261 
262 #define BTRFS_TYPE_UNKNOWN 0
263 #define BTRFS_TYPE_FILE 1
264 #define BTRFS_TYPE_DIRECTORY 2
265 #define BTRFS_TYPE_CHARDEV 3
266 #define BTRFS_TYPE_BLOCKDEV 4
267 #define BTRFS_TYPE_FIFO 5
268 #define BTRFS_TYPE_SOCKET 6
269 #define BTRFS_TYPE_SYMLINK 7
270 #define BTRFS_TYPE_EA 8
271 
272 typedef struct {
278  char name[1];
279 } DIR_ITEM;
280 
281 typedef struct {
284 } BTRFS_TIME;
285 
286 typedef struct {
305 } INODE_ITEM;
306 
307 #ifndef __REACTOS__
308 static_assert(sizeof(INODE_ITEM) == 0xa0, "INODE_ITEM has wrong size");
309 #endif // __REACTOS__
310 
311 typedef struct {
337 } ROOT_ITEM;
338 
339 typedef struct {
349 } CHUNK_ITEM;
350 
351 typedef struct {
356 
357 typedef struct {
365 } EXTENT_DATA;
366 
367 typedef struct {
372 } EXTENT_DATA2;
373 
374 typedef struct {
377  char name[1];
378 } INODE_REF;
379 
380 typedef struct {
384  char name[1];
385 } INODE_EXTREF;
386 
387 #define EXTENT_ITEM_DATA 0x001
388 #define EXTENT_ITEM_TREE_BLOCK 0x002
389 #define EXTENT_ITEM_SHARED_BACKREFS 0x100
390 
391 typedef struct {
395 } EXTENT_ITEM;
396 
397 typedef struct {
400 } EXTENT_ITEM2;
401 
402 typedef struct {
405 
406 typedef struct {
411 
412 typedef struct {
415 
416 typedef struct {
422 
423 typedef struct {
428 
429 typedef struct {
434 } EXTENT_REF_V0;
435 
436 typedef struct {
439 
440 typedef struct {
444 
445 #define FREE_SPACE_EXTENT 1
446 #define FREE_SPACE_BITMAP 2
447 
448 typedef struct {
453 
454 typedef struct {
460 
461 typedef struct {
465  char name[1];
466 } ROOT_REF;
467 
468 typedef struct {
474 } DEV_EXTENT;
475 
476 #define BALANCE_FLAGS_DATA 0x1
477 #define BALANCE_FLAGS_SYSTEM 0x2
478 #define BALANCE_FLAGS_METADATA 0x4
479 
480 #define BALANCE_ARGS_FLAGS_PROFILES 0x001
481 #define BALANCE_ARGS_FLAGS_USAGE 0x002
482 #define BALANCE_ARGS_FLAGS_DEVID 0x004
483 #define BALANCE_ARGS_FLAGS_DRANGE 0x008
484 #define BALANCE_ARGS_FLAGS_VRANGE 0x010
485 #define BALANCE_ARGS_FLAGS_LIMIT 0x020
486 #define BALANCE_ARGS_FLAGS_LIMIT_RANGE 0x040
487 #define BALANCE_ARGS_FLAGS_STRIPES_RANGE 0x080
488 #define BALANCE_ARGS_FLAGS_CONVERT 0x100
489 #define BALANCE_ARGS_FLAGS_SOFT 0x200
490 #define BALANCE_ARGS_FLAGS_USAGE_RANGE 0x400
491 
492 typedef struct {
494 
495  union {
497  struct {
500  };
501  };
502 
510 
511  union {
513  struct {
516  };
517  };
518 
522 } BALANCE_ARGS;
523 
524 typedef struct {
530 } BALANCE_ITEM;
531 
532 #define BTRFS_FREE_SPACE_USING_BITMAPS 1
533 
534 typedef struct {
538 
539 #define BTRFS_DEV_STAT_WRITE_ERRORS 0
540 #define BTRFS_DEV_STAT_READ_ERRORS 1
541 #define BTRFS_DEV_STAT_FLUSH_ERRORS 2
542 #define BTRFS_DEV_STAT_CORRUPTION_ERRORS 3
543 #define BTRFS_DEV_STAT_GENERATION_ERRORS 4
544 
545 #define BTRFS_SEND_CMD_SUBVOL 1
546 #define BTRFS_SEND_CMD_SNAPSHOT 2
547 #define BTRFS_SEND_CMD_MKFILE 3
548 #define BTRFS_SEND_CMD_MKDIR 4
549 #define BTRFS_SEND_CMD_MKNOD 5
550 #define BTRFS_SEND_CMD_MKFIFO 6
551 #define BTRFS_SEND_CMD_MKSOCK 7
552 #define BTRFS_SEND_CMD_SYMLINK 8
553 #define BTRFS_SEND_CMD_RENAME 9
554 #define BTRFS_SEND_CMD_LINK 10
555 #define BTRFS_SEND_CMD_UNLINK 11
556 #define BTRFS_SEND_CMD_RMDIR 12
557 #define BTRFS_SEND_CMD_SET_XATTR 13
558 #define BTRFS_SEND_CMD_REMOVE_XATTR 14
559 #define BTRFS_SEND_CMD_WRITE 15
560 #define BTRFS_SEND_CMD_CLONE 16
561 #define BTRFS_SEND_CMD_TRUNCATE 17
562 #define BTRFS_SEND_CMD_CHMOD 18
563 #define BTRFS_SEND_CMD_CHOWN 19
564 #define BTRFS_SEND_CMD_UTIMES 20
565 #define BTRFS_SEND_CMD_END 21
566 #define BTRFS_SEND_CMD_UPDATE_EXTENT 22
567 
568 #define BTRFS_SEND_TLV_UUID 1
569 #define BTRFS_SEND_TLV_TRANSID 2
570 #define BTRFS_SEND_TLV_INODE 3
571 #define BTRFS_SEND_TLV_SIZE 4
572 #define BTRFS_SEND_TLV_MODE 5
573 #define BTRFS_SEND_TLV_UID 6
574 #define BTRFS_SEND_TLV_GID 7
575 #define BTRFS_SEND_TLV_RDEV 8
576 #define BTRFS_SEND_TLV_CTIME 9
577 #define BTRFS_SEND_TLV_MTIME 10
578 #define BTRFS_SEND_TLV_ATIME 11
579 #define BTRFS_SEND_TLV_OTIME 12
580 #define BTRFS_SEND_TLV_XATTR_NAME 13
581 #define BTRFS_SEND_TLV_XATTR_DATA 14
582 #define BTRFS_SEND_TLV_PATH 15
583 #define BTRFS_SEND_TLV_PATH_TO 16
584 #define BTRFS_SEND_TLV_PATH_LINK 17
585 #define BTRFS_SEND_TLV_OFFSET 18
586 #define BTRFS_SEND_TLV_DATA 19
587 #define BTRFS_SEND_TLV_CLONE_UUID 20
588 #define BTRFS_SEND_TLV_CLONE_CTRANSID 21
589 #define BTRFS_SEND_TLV_CLONE_PATH 22
590 #define BTRFS_SEND_TLV_CLONE_OFFSET 23
591 #define BTRFS_SEND_TLV_CLONE_LENGTH 24
592 
593 #define BTRFS_SEND_MAGIC "btrfs-stream"
594 
595 typedef struct {
599 
600 typedef struct {
605 
606 typedef struct {
610 
611 #pragma pack(pop)
uint64_t chunk_tree_generation
Definition: btrfs.h:201
uint64_t generation
Definition: btrfs.h:358
uint64_t generation
Definition: btrfs.h:174
uint64_t fs_tree_addr
Definition: btrfs.h:204
uint64_t csum_root_addr
Definition: btrfs.h:208
uint64_t obj_id
Definition: btrfs.h:144
uint32_t version
Definition: btrfs.h:597
uint8_t type
Definition: btrfs.h:363
uint32_t limit_start
Definition: btrfs.h:514
static long backup()
Definition: maze.c:403
uint8_t log_root_level
Definition: btrfs.h:250
uint64_t root
Definition: btrfs.h:430
uint8_t obj_type
Definition: btrfs.h:145
uint8_t fs_root_level
Definition: btrfs.h:217
uint64_t type
Definition: btrfs.h:184
uint16_t sub_stripes
Definition: btrfs.h:348
uint16_t n
Definition: btrfs.h:383
uint64_t bytes_used
Definition: btrfs.h:235
Definition: btrfs.h:448
BTRFS_TIME otime
Definition: btrfs.h:304
uint32_t csum
Definition: btrfs.h:603
uint64_t convert
Definition: btrfs.h:508
uint32_t stripes_start
Definition: btrfs.h:519
uint8_t dev_root_level
Definition: btrfs.h:218
uint64_t root_tree_addr
Definition: btrfs.h:230
uint32_t count
Definition: btrfs.h:433
uint64_t bytes_used
Definition: btrfs.h:317
uint64_t dev_id
Definition: btrfs.h:352
uint64_t magic
Definition: btrfs.h:228
uint8_t root_level
Definition: btrfs.h:248
uint64_t offset
Definition: btrfs.h:419
uint64_t flags
Definition: btrfs.h:426
BTRFS_TIME otime
Definition: btrfs.h:333
uint64_t decoded_size
Definition: btrfs.h:359
uint64_t chunk_tree_addr
Definition: btrfs.h:200
uint64_t objid
Definition: btrfs.h:418
uint64_t flags
Definition: btrfs.h:157
uint64_t flags
Definition: btrfs.h:525
uint64_t length
Definition: btrfs.h:472
uint64_t otransid
Definition: btrfs.h:329
u32_t magic(void)
BTRFS_UUID parent_uuid
Definition: btrfs.h:326
uint64_t extent_tree_generation
Definition: btrfs.h:203
uint32_t count
Definition: btrfs.h:535
uint64_t root_tree_generation
Definition: btrfs.h:199
uint64_t objid
Definition: btrfs.h:432
uint64_t stripe_length
Definition: btrfs.h:342
uint64_t block_number
Definition: btrfs.h:315
uint32_t refcount
Definition: btrfs.h:403
uint32_t limit_end
Definition: btrfs.h:515
uint64_t uuid_tree_generation
Definition: btrfs.h:254
uint64_t block_group
Definition: btrfs.h:291
unsigned short int uint16_t
Definition: acefiex.h:54
uint64_t dev_root_addr
Definition: btrfs.h:206
uint32_t flags
Definition: btrfs.h:297
uint32_t flags_ro
Definition: btrfs.h:298
uint16_t n
Definition: btrfs.h:464
uint64_t compat_ro_flags
Definition: btrfs.h:245
uint64_t profiles
Definition: btrfs.h:493
uint16_t csum_type
Definition: btrfs.h:247
BALANCE_ARGS data
Definition: btrfs.h:526
uint64_t used
Definition: btrfs.h:424
BTRFS_TIME st_ctime
Definition: btrfs.h:302
uint8_t encryption
Definition: btrfs.h:361
#define SYS_CHUNK_ARRAY_SIZE
Definition: btrfs.h:194
uint64_t offset
Definition: btrfs.h:146
BTRFS_TIME stime
Definition: btrfs.h:334
uint64_t chunk_tree_addr
Definition: btrfs.h:231
#define BTRFS_NUM_BACKUP_ROOTS
Definition: btrfs.h:195
uint32_t optimal_io_align
Definition: btrfs.h:181
uint64_t size
Definition: btrfs.h:450
BTRFS_UUID fs_uuid
Definition: btrfs.h:191
uint64_t generation2
Definition: btrfs.h:324
uint64_t dir
Definition: btrfs.h:462
uint64_t flags
Definition: btrfs.h:319
uint32_t dev_group
Definition: btrfs.h:187
uint64_t offset
Definition: btrfs.h:353
uint64_t generation
Definition: btrfs.h:456
uint8_t level
Definition: btrfs.h:409
uint64_t size
Definition: btrfs.h:340
uint64_t bytes_used
Definition: btrfs.h:211
uint8_t type
Definition: btrfs.h:451
uint64_t address
Definition: btrfs.h:156
uint64_t devid
Definition: btrfs.h:503
uint32_t st_gid
Definition: btrfs.h:294
uint16_t m
Definition: btrfs.h:275
uint8_t seek_speed
Definition: btrfs.h:188
uint32_t stripe_size
Definition: btrfs.h:241
uint64_t refcount
Definition: btrfs.h:392
EXTENT_ITEM extent_item
Definition: btrfs.h:407
uint64_t address
Definition: btrfs.h:368
uint64_t generation
Definition: btrfs.h:313
uint64_t vrange_end
Definition: btrfs.h:507
uint64_t sequence
Definition: btrfs.h:299
uint64_t stransid
Definition: btrfs.h:330
uint64_t num_devices
Definition: btrfs.h:237
uint32_t st_nlink
Definition: btrfs.h:292
uint64_t index
Definition: btrfs.h:463
uint64_t index
Definition: btrfs.h:382
uint64_t dev_root_generation
Definition: btrfs.h:207
r reserved
Definition: btrfs.c:3006
uint8_t drop_level
Definition: btrfs.h:322
uint64_t generation
Definition: btrfs.h:159
BTRFS_UUID received_uuid
Definition: btrfs.h:327
uint32_t num_references
Definition: btrfs.h:320
KEY key
Definition: btrfs.h:273
uint32_t count
Definition: btrfs.h:420
uint32_t offset
Definition: btrfs.h:167
uint64_t extent_tree_addr
Definition: btrfs.h:202
DEV_ITEM dev_item
Definition: btrfs.h:251
uint64_t size
Definition: btrfs.h:369
uint8_t root_level
Definition: btrfs.h:214
uint8_t type
Definition: btrfs.h:277
uint32_t size
Definition: btrfs.h:168
uint64_t usage
Definition: btrfs.h:496
uint16_t n
Definition: btrfs.h:376
BTRFS_UUID metadata_uuid
Definition: btrfs.h:255
uint64_t root
Definition: btrfs.h:417
uint32_t opt_io_alignment
Definition: btrfs.h:344
uint64_t offset
Definition: btrfs.h:413
BTRFS_TIME st_mtime
Definition: btrfs.h:303
uint64_t log_tree_addr
Definition: btrfs.h:232
uint64_t sb_phys_addr
Definition: btrfs.h:226
BTRFS_UUID device_uuid
Definition: btrfs.h:190
uint64_t flags
Definition: btrfs.h:227
uint64_t ctransid
Definition: btrfs.h:328
BTRFS_UUID chunk_tree_uuid
Definition: btrfs.h:158
uint64_t num_bytes
Definition: btrfs.h:179
uint16_t encoding
Definition: btrfs.h:362
uint64_t st_size
Definition: btrfs.h:289
uint8_t reserved2[12]
Definition: fsck.fat.h:58
uint64_t objid
Definition: btrfs.h:314
uint8_t csum_root_level
Definition: btrfs.h:219
uint32_t stripes_end
Definition: btrfs.h:520
uint64_t st_rdev
Definition: btrfs.h:296
uint64_t root_dir_objectid
Definition: btrfs.h:236
uint64_t offset
Definition: btrfs.h:449
BTRFS_UUID uuid
Definition: btrfs.h:325
KEY firstitem
Definition: btrfs.h:398
uint8_t level
Definition: btrfs.h:162
uint64_t objid
Definition: btrfs.h:470
uint8_t root_level
Definition: btrfs.h:323
uint64_t drange_end
Definition: btrfs.h:505
BTRFS_UUID dev_uuid
Definition: btrfs.h:354
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
uint64_t generation
Definition: btrfs.h:229
uint32_t length
Definition: btrfs.h:601
BTRFS_TIME st_atime
Definition: btrfs.h:301
uint8_t chunk_root_level
Definition: btrfs.h:215
uint64_t offset
Definition: btrfs.h:437
uint32_t count
Definition: btrfs.h:442
uint32_t opt_io_width
Definition: btrfs.h:345
uint32_t sector_size
Definition: btrfs.h:346
uint64_t dev_id
Definition: btrfs.h:178
uint8_t level
Definition: btrfs.h:399
uint64_t gen
Definition: btrfs.h:431
uint16_t cmd
Definition: btrfs.h:602
uint64_t cache_generation
Definition: btrfs.h:253
uint64_t flags
Definition: btrfs.h:509
uint32_t optimal_io_width
Definition: btrfs.h:182
uint32_t n
Definition: btrfs.h:242
static cab_ULONG checksum(const cab_UBYTE *data, cab_UWORD bytes, cab_ULONG csum)
Definition: fdi.c:353
KEY drop_progress
Definition: btrfs.h:321
uint64_t generation
Definition: btrfs.h:287
BYTE uint8_t
Definition: msvideo1.c:66
uint8_t label[11]
Definition: fsck.fat.h:65
uint64_t num_bytes
Definition: btrfs.h:371
uint64_t dir
Definition: btrfs.h:381
uint64_t st_blocks
Definition: btrfs.h:290
uint64_t generation
Definition: btrfs.h:393
uint64_t csum_root_generation
Definition: btrfs.h:209
uint8_t chunk_root_level
Definition: btrfs.h:249
uint64_t root_tree_addr
Definition: btrfs.h:198
uint64_t root_id
Definition: btrfs.h:341
uint32_t usage_start
Definition: btrfs.h:498
uint64_t vrange_start
Definition: btrfs.h:506
uint64_t byte_limit
Definition: btrfs.h:316
uint64_t limit
Definition: btrfs.h:512
uint8_t bandwidth
Definition: btrfs.h:189
Definition: btrfs.h:143
BALANCE_ARGS metadata
Definition: btrfs.h:527
INODE_ITEM inode
Definition: btrfs.h:312
#define MAX_LABEL_SIZE
Definition: btrfs.h:19
UINT64 uint64_t
Definition: types.h:77
BTRFS_UUID fs_uuid
Definition: btrfs.h:155
uint64_t seconds
Definition: btrfs.h:282
uint64_t total_bytes
Definition: btrfs.h:234
KEY key
Definition: btrfs.h:166
uint64_t index
Definition: btrfs.h:375
BTRFS_UUID uuid
Definition: btrfs.h:225
uint64_t transid
Definition: btrfs.h:288
uint32_t node_size
Definition: btrfs.h:239
uint64_t chunk_tree
Definition: btrfs.h:425
BTRFS_TIME ctime
Definition: btrfs.h:332
uint32_t nanoseconds
Definition: btrfs.h:283
uint64_t total_bytes
Definition: btrfs.h:210
uint32_t flags
Definition: btrfs.h:536
UINT32 uint32_t
Definition: types.h:75
uint64_t last_snapshot_generation
Definition: btrfs.h:318
uint64_t address
Definition: btrfs.h:173
Definition: ffs.h:52
uint32_t minimal_io_size
Definition: btrfs.h:183
uint64_t num_entries
Definition: btrfs.h:457
Definition: name.c:38
static const uint64_t superblock_addrs[]
Definition: btrfs.h:16
uint16_t type
Definition: btrfs.h:607
uint64_t num_bitmaps
Definition: btrfs.h:458
BTRFS_TIME rtime
Definition: btrfs.h:335
uint64_t bytes_used
Definition: btrfs.h:180
uint16_t length
Definition: btrfs.h:608
Definition: msctf.idl:510
uint16_t num_stripes
Definition: btrfs.h:347
uint32_t num_items
Definition: btrfs.h:161
struct _KEY KEY
uint64_t offset
Definition: btrfs.h:370
uint8_t extent_root_level
Definition: btrfs.h:216
BALANCE_ARGS system
Definition: btrfs.h:528
uint64_t transid
Definition: btrfs.h:274
uint64_t flags
Definition: btrfs.h:394
uint32_t sector_size
Definition: btrfs.h:238
uint64_t chunktree
Definition: btrfs.h:469
BTRFS_UUID chunktree_uuid
Definition: btrfs.h:473
uint64_t compat_flags
Definition: btrfs.h:244
uint64_t type
Definition: btrfs.h:343
uint32_t leaf_size
Definition: btrfs.h:240
uint64_t chunk_root_generation
Definition: btrfs.h:243
uint32_t st_uid
Definition: btrfs.h:293
uint16_t n
Definition: btrfs.h:276
uint64_t drange_start
Definition: btrfs.h:504
uint64_t offset
Definition: btrfs.h:441
uint64_t tree_id
Definition: btrfs.h:160
uint8_t compression
Definition: btrfs.h:360
uint64_t log_root_transid
Definition: btrfs.h:233
uint64_t address
Definition: btrfs.h:471
uint64_t rtransid
Definition: btrfs.h:331
uint64_t fs_tree_generation
Definition: btrfs.h:205
uint64_t num_devices
Definition: btrfs.h:212
uint32_t st_mode
Definition: btrfs.h:295
uint64_t start_offset
Definition: btrfs.h:186
uint32_t usage_end
Definition: btrfs.h:499
uint64_t incompat_flags
Definition: btrfs.h:246
uint64_t generation
Definition: btrfs.h:185