1 #ifndef __MFS_BUF_H__ 2 #define __MFS_BUF_H__ 3 4 #include "clean.h" 5 6 union ixfer_fsdata_u { 7 char b__data[1]; /* ordinary user data */ 8 struct direct b__dir[1]; /* directory block */ 9 zone_t b__v2_ind[1]; /* V2 indirect block */ 10 d2_inode b__v2_ino[1]; /* V2 inode block */ 11 bitchunk_t b__bitmap[1]; /* bit map block */ 12 }; 13 14 /* These defs make it possible to use to bp->b_data instead of bp->b.b__data */ 15 #define b_data(b) ((union ixfer_fsdata_u *) b->data)->b__data 16 #define b_dir(b) ((union ixfer_fsdata_u *) b->data)->b__dir 17 #define b_v2_ind(b) ((union ixfer_fsdata_u *) b->data)->b__v2_ind 18 #define b_v2_ino(b) ((union ixfer_fsdata_u *) b->data)->b__v2_ino 19 #define b_bitmap(b) ((union ixfer_fsdata_u *) b->data)->b__bitmap 20 21 #endif 22