Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / drivers / filesystems / fs_rec / btrfs.h
diff --git a/drivers/filesystems/fs_rec/btrfs.h b/drivers/filesystems/fs_rec/btrfs.h
new file mode 100644 (file)
index 0000000..bccdfc0
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * COPYRIGHT:        See COPYING in the top level directory
+ * PROJECT:          ReactOS File System Recognizer
+ * FILE:             drivers/filesystems/fs_rec/btrfs.h
+ * PURPOSE:          BTRFS Header File
+ * PROGRAMMER:       Peter Hater
+ *                   Pierre Schweitzer (pierre@reactos.org)
+ */
+
+#include <pshpack1.h>
+typedef struct {
+    UINT8 uuid[16];
+} BTRFS_UUID;
+
+typedef struct _BTRFS_SUPER_BLOCK {
+    UINT8 checksum[32];
+    BTRFS_UUID uuid;
+    UINT64 sb_phys_addr;
+    UINT64 flags;
+    UINT64 magic;
+        // Partial
+} BTRFS_SUPER_BLOCK, *PBTRFS_SUPER_BLOCK;
+#include <poppack.h>
+
+C_ASSERT(FIELD_OFFSET(BTRFS_SUPER_BLOCK, uuid) == 0x20);
+C_ASSERT(FIELD_OFFSET(BTRFS_SUPER_BLOCK, sb_phys_addr) == 0x30);
+C_ASSERT(FIELD_OFFSET(BTRFS_SUPER_BLOCK, magic) == 0x40);
+
+#define BTRFS_MAGIC 0x4d5f53665248425f
+#define BTRFS_SB_OFFSET 0x10000
+#define BTRFS_SB_SIZE 0x1000