1433d6423SLionel Sambuc #ifndef __MFS_BUF_H__ 2433d6423SLionel Sambuc #define __MFS_BUF_H__ 3433d6423SLionel Sambuc 4433d6423SLionel Sambuc #include "clean.h" 5433d6423SLionel Sambuc 6*50b7f13fSCristiano Giuffrida union ixfer_fsdata_u { 7433d6423SLionel Sambuc char b__data[1]; /* ordinary user data */ 80314acfbSDavid van Moolenbroek struct direct b__dir[1]; /* directory block */ 90314acfbSDavid van Moolenbroek zone_t b__v2_ind[1]; /* V2 indirect block */ 100314acfbSDavid van Moolenbroek d2_inode b__v2_ino[1]; /* V2 inode block */ 110314acfbSDavid van Moolenbroek bitchunk_t b__bitmap[1]; /* bit map block */ 12433d6423SLionel Sambuc }; 13433d6423SLionel Sambuc 14433d6423SLionel Sambuc /* These defs make it possible to use to bp->b_data instead of bp->b.b__data */ 15*50b7f13fSCristiano Giuffrida #define b_data(b) ((union ixfer_fsdata_u *) b->data)->b__data 16*50b7f13fSCristiano Giuffrida #define b_dir(b) ((union ixfer_fsdata_u *) b->data)->b__dir 17*50b7f13fSCristiano Giuffrida #define b_v2_ind(b) ((union ixfer_fsdata_u *) b->data)->b__v2_ind 18*50b7f13fSCristiano Giuffrida #define b_v2_ino(b) ((union ixfer_fsdata_u *) b->data)->b__v2_ino 19*50b7f13fSCristiano Giuffrida #define b_bitmap(b) ((union ixfer_fsdata_u *) b->data)->b__bitmap 20433d6423SLionel Sambuc 21433d6423SLionel Sambuc #endif 22