[BTRFS] Fix booting with runtime checks
[reactos.git] / drivers / filesystems / fs_rec / btrfs.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS File System Recognizer
4 * FILE: drivers/filesystems/fs_rec/btrfs.h
5 * PURPOSE: BTRFS Header File
6 * PROGRAMMER: Peter Hater
7 * Pierre Schweitzer (pierre@reactos.org)
8 */
9
10 #include <pshpack1.h>
11 typedef struct {
12 UINT8 uuid[16];
13 } BTRFS_UUID;
14
15 typedef struct _BTRFS_SUPER_BLOCK {
16 UINT8 checksum[32];
17 BTRFS_UUID uuid;
18 UINT64 sb_phys_addr;
19 UINT64 flags;
20 UINT64 magic;
21 // Partial
22 } BTRFS_SUPER_BLOCK, *PBTRFS_SUPER_BLOCK;
23 #include <poppack.h>
24
25 C_ASSERT(FIELD_OFFSET(BTRFS_SUPER_BLOCK, uuid) == 0x20);
26 C_ASSERT(FIELD_OFFSET(BTRFS_SUPER_BLOCK, sb_phys_addr) == 0x30);
27 C_ASSERT(FIELD_OFFSET(BTRFS_SUPER_BLOCK, magic) == 0x40);
28
29 #define BTRFS_MAGIC 0x4d5f53665248425f
30 #define BTRFS_SB_OFFSET 0x10000
31 #define BTRFS_SB_SIZE 0x1000