#ifndef DRRAID_H #define DRRAID_H typedef unsigned u32; typedef unsigned long long u64; typedef int i32; #define MD_SB_BYTES 4096 struct SUPERBLOCK { u32 magic; u32 version; u32 features; u32 pad0; unsigned char uuid[16]; char name[32]; u64 ctime; u32 level; u32 layout; u64 size; u32 chunksize; u32 raiddisks; i32 bitmap_offset; // Reshape u32 newlevel; u64 nextadr; u32 delta_disks; u32 new_layout; u32 new_chunk; u32 pad1; // Device info u64 data_offset; // Sector number u64 data_sectors; // Number of sector for data u64 super_offset; u64 recovery_offset; u32 dev_number; u32 corrected_reads; unsigned char dev_uuid[16]; unsigned char dev_flags; unsigned char pad2[7]; // Device state u64 utime; u64 events; u64 resync_offset; u32 sb_csum; // Super block check-sum u32 max_dev; char pad3[32]; unsigned short devs[384]; }; #include "drraid.p" #endif