xref: /reactos/drivers/filesystems/fs_rec/btrfs.h (revision 40462c92)
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
32